Help us understand the problem. What is going on with this article?

俺的PostgreSQL9系postgresql.confチューニング

More than 3 years have passed since last update.

PostgreSQL9系の設定要所について自分が思う所をまとめてみました

1.チェックポイント周り設定

checkpoint_completion_target 0.8
checkpoint_segments      6    ※ 但し9.4まで。9.5からこのパラメータは廃止。
checkpoint_timeout       30min

※更新メインなら「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用設定
→物理サーバ上での設定の場合以下のパラメータで性能が上る可能性があります。

random_page_cost     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発生も考慮しましょう。

以上、ご参考まで。

m_46
大阪でIT系の業界でなんやかんやと佇んでいます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away