Postgres 优化插入/只读

dre*_*obb 5 sql postgresql

我正在研究具有以下特征的数据库:

  • 许多插入(在 1k/秒范围内)
  • 数据上的大量索引,复杂的连接
  • NO 删除或更新,仅插入、读取和表删除
  • 我不在乎对数据库的读取是否反映了准确的状态
  • 数据并不重要,我已经在运行 fsync=off

我已经对 postgres 优化有了一些了解,但我希望可能有一些更适合我的特定用例的额外技巧。

Set*_*son 2

您可以禁用 WAL,也许可以通过将其指向 /dev/null 或 RAMDISK 来禁用它。请注意,有人猜测即使完全停止后您也可能无法重新启动数据库,因此我建议谨慎进行测试。

确保对表进行聚类。分区也可能有帮助。

当然要禁用synchronous_commits。

http://wiki.postgresql.org/wiki/FAQ#How_do_I_tune_the_database_engine_for_better_performance.3F