我需要调整我的PostgreSQL 9版本的postgresql.conf文件
我整理了我认为与PostgreSQL 9系列的配置要点相关的内容。
1. 检查点周围的设置
checkpoint_completion_target 0.8
checkpoint_segments 6 ※ 但し9.4まで。9.5からこのパラメータは廃止。
checkpoint_timeout 30min
如果主要的目标是更新,那么无论如何,”checkpoint_completion_target”都可以尽可能地接近1(但服务器负荷会增加)。
如果以更新为主要目标,那么可以尽量将”checkpoint_completion_target”设为接近于1的值,但会增加服务器的负荷。
2. 网络连接设置
listen_addresses '*'
port {デフォルト以外のポート指定}
3. 日志环境设置
log_destination stderr
log_directory /var/log/pg_log/
log_filename postgresql-%d.log
log_line_prefix [%m][%p][%u][%d][%h][%e]
log_rotation_age 1d
log_truncate_on_rotation on
如果要将日志文件切割到”/var/log/pg_log/”目录下,请正确配置mkdir和chown。
4. 使用SSD的设定
→ 在物理服务器上进行设定时,以下参数可能会提高性能。
随机页成本为4.0。
5.内存设置
effective_cache_size メモリ総量の1/4
maintenance_work_mem メモリ総量の1/256
shared_buffers メモリ総量の1/4
temp_buffers メモリ総量の1/128
wal_buffers メモリ総量の1/512
work_mem メモリ総量の1/2048
然而,如果在同一台服务器上配置了Apache等服务,就需要考虑内存分配的总量,并且要考虑到由于占用过多内存而产生SWAP的情况。
以上、供参考之用。