數據庫日誌和程序日誌中都有報錯
ERROR: database is not accepting commands to avoid wraparound data loss in database "template1"
HINT: Stop the postmaster and use a standalone backend to vacuum that database.
You might also need to commit or roll back old prepared transactions.
CONTEXT: SQL statement "UPDATE XXX SET min_horizon = buffer_ts WHERE peer = peer_id"
PL/pgSQL function kv.XXX(regclass,integer) line 21 at SQL statement
其實提示中說的很明確,
- 關閉數據庫
- 進入standalone backend模式
- vacuum數據庫
所以跟着這個步驟。執行
service postgresql stop
su - postgres
$ postgres --single -D /usr/local/pgsql/data DBNAME
PostgreSQL stand-alone backend 9.3.21
backend> vacuum freeze XXX;
2019-12-13 03:11:59 EST [79657]: [1-1] user=,db= LOG: duration: 14309.933 ms statement: vacuum freeze XXX;
啓動數據庫,觀察日誌。解決~