デフォルトではPostgresqlの共有メモリ設定は非常に小さい。
私の環境では28MBとなっている。
私の扱っているとあるシステムではpostgresqlを使用しているのだが、トランザクションが大量に発生するバッチ処理があり結構時間がかかる。
そこで行ったpostgresqlのチューニング(というほどのものではないが)を私的備忘録としてメモして置くことにする。
とりあえず共有メモリをふたすのだが、インストーラーやaptで導入した場合は共有メモリの設定が非常に少ないので多くする。
具体的にはpostgres.confを変更するのだが、kernelの共有メモリを超える設定はできない。
で、とりあえず/etc/sysctl.confを変更し共有メモリを増やす
kernel.shmmax = 134217728
のような感じ。
環境によってはもっと増やしてもOKだが物理メモリを多く搭載する必要がある。
そしてpostgresql.confの
shared_buffers = 64MB
見たいな感じにする。