今更 PostgreSQL にびっくりさせられたのでメモ。
このようなエラーが出て何もできなくなる。
psql: FATAL: database is not accepting commands to avoid wraparound data loss in database "dbname" HINT: Stop the postmaster and use a standalone backend to vacuum database "dbname".
定期的な VACUUM を怠るとなるらしい。こういう時は慌てず騒がず PostgreSQL を停止し、シングルユーザーモードで各データベースに VACUUM を実行する。
1. 停止。
$ pg_ctl stop
2. シングルユーザーモードで起動。dbname は任意のデータベース名ね。
$ postgres dbname
3. バキューム。
backend> VACUUM
4. シングルユーザーモードからの脱出は Ctrl + D。...ってのを、エラーが出なくなるまで繰り返す。
5. 開始。
pg_ctl start
以上。今更だなぁ。
コメント