vacuumでの最適化メモ

ながいことvacuumしていなかったpostgresql 8.0.0 のサーバーが遅くなっていたので
vacuumかけて、swapも発生していたのでrebootしたらはやくなった。

http://www.thinkit.co.jp/free/marugoto/2/1/13/1.html

/usr/local/pgsql/bin/vacuumdb -a -v
〜略〜
INFO: free space map: 122 relations, 18389 pages stored; 32464 total pages needed
DETAIL: Allocated FSM size: 1000 relations + 20000 pages = 182 kB shared memory.
VACUUM

32464 total pages neededなので必要なFSMは32464
実際のFSMは20000

grep max_fsm_pages postgresql.conf
#max_fsm_pages = 20000 # min max_fsm_relations*16, 6 bytes each

なので max_fsm_pages = 32500 とかにするとか、VACUUM FULLを実行するといいらしい。

vacuumしてないで放置が一番の問題だったが…