日記/2010-02-14

2010-02-17 (水) 17:50:10

VACUUM FULLとREINDEX -- postgresql

# sudo -u postgres /usr/sbin/pg_maintenance --full --analyze

とすると、

Skipping cluster 8.1/main since autovacuuming is enabled for it

と出るので、自動でvacuumが行われると思っていたのだが、

sudo -u postgres /usr/sbin/pg_maintenance --force

を実行したところ、

NOTICE: number of page slots needed (31360) exceeds max_fsm_pages (20000)
HINT: Consider increasing the configuration parameter "max_fsm_pages" to a value over 31360.
VACUUM

max_fsm_pages が足りなくなったらしい。
こちらによると↓
http://d.hatena.ne.jp/kaitoh07/20090515/1242362619
http://oshiete1.goo.ne.jp/qa3972586.html
vacuumに加えて、reindexも必要らしい。
reindexの仕方がわからないので、
dumpファイルからリストアをしたらmax_fsm_pagesが不足している旨のメッセージはでなくなった。

 

REINDEX (http://websys-memo.biz/postgres8.2.0/sql-reindex.html

# su - orca
$ export PGOPTIONS="-P"
$ psql orca
orca=> REINDEX DATABASE orca;
orca=> \q

REINDEXをしてもmax_fsm_pagesが不足している旨のメッセージは消えないようだ。

日記