Postgresql - 錯誤解決 - 9.3 - database is not accepting commands to avoid wraparound data......

數據庫日誌和程序日誌中都有報錯

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

其實提示中說的很明確,

  1. 關閉數據庫
  2. 進入standalone backend模式
  3. 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;

啓動數據庫,觀察日誌。解決~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章