批量加载和恢复
来自 PostgreSQL Wiki
跳转到导航跳转到搜索手册部分 填充数据库 涵盖了批量加载,并包含了关于 DDL 方面的良好指导。除此之外,您应该遵循来自 调整您的 PostgreSQL 服务器 的一般准则,特别是关于 checkpoint_segments 的那些准则。
您可能考虑用于恢复的另一个额外选项是仅使用同步提交 (8.3+) 甚至更改 fsync=off。 通常您无法执行此操作的原因是,有关损坏的担忧在数据库第一次被填充时就不那么重要了。 请注意,如果您的数据确实很大,则在加载过程中发生崩溃可能会导致大量时间损失。 如果你不能承受重新开始,玩 fsync 有点危险。
有关此主题的其他文章
另一个需要密切关注的领域是 vacuum。 您可能希望在加载过程中关闭 autovacuum,因为这会争夺资源。 如果您这样做,加载完成后需要手动 ANALYZE 来整理表统计信息。 此外,您可能考虑在此阶段运行常规 VACUUM 以更新所有 Hint Bits;然而,这可能需要相当长的时间才能执行。