PostgreSQL 9.4可以在单个插入语句中插入的行数限制是多少?

fie*_*lds 5 sql postgresql

PostgreSQL 9.4在一个插入语句中接受多行作为值块。这样可以插入的最大行数是多少?

Dmi*_*kov 6

这取决于您的样本“行”的样子。通常,在出现内存不足错误之前,您的 Postgres 框的RAM交换将是您的限制。对于批量插入,建议:

  • 使用COPY代替INSERT
  • 禁用索引,如果发生复制
  • 在 中调整数据库配置设置postgresql.conf,增加 ( maintenance_work_mem, checkpoint_segments)

完整的建议列表可以在填充数据库文章中找到。除此之外,Managing Kernel ResourcesResource Consumption文章也值得一看。

  • 这不是一次性填充 - 我有一个经常启动大量插入的过程(目前介于 50k 和 100k 行之间,但可能更大)。我想尽快将这些数据插入到数据库中。它目前是使用单独的插入语句完成的,这显然表现不佳。 (2认同)