Postgresql

意外的 PostgreSQL 重啟

  • February 11, 2021

我的 PostgreSQL 伺服器意外重啟並顯示以下消息:

2017-08-16 03:44:34 GMT LOG:  received fast shutdown request
2017-08-16 03:44:34 GMT LOG:  aborting any active transactions
2017-08-16 03:44:34 GMT FATAL:  terminating connection due to administrator command
2017-08-16 03:44:34 GMT FATAL:  terminating connection due to administrator command
2017-08-16 03:44:34 GMT LOG:  autovacuum launcher shutting down
2017-08-16 03:44:34 GMT LOG:  shutting down
2017-08-16 03:44:34 GMT LOG:  database system is shut down
2017-08-16 03:46:04 GMT LOG:  incomplete startup packet
2017-08-16 03:46:04 GMT LOG:  database system was shut down at 2017-08-16 03:44:34 GMT
2017-08-16 03:46:04 GMT LOG:  MultiXact member wraparound protections are now enabled
2017-08-16 03:46:04 GMT LOG:  database system is ready to accept connections
2017-08-16 03:46:04 GMT LOG:  autovacuum launcher started

可能是什麼原因?

配置細節:

OS: Ubuntu 16.04.1 LTS (Windows Azure VM)
PostgreSQL version: 9.5.8
listen address: * (my bad, but Azure have to block another ports from external access.
                  I didn't enable PG 5432 port for external access) 
HBA config:
local   all             postgres                                ident
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5
host    all             all             10.0.0.0/24             md5
host    replication     app_replicator 10.0.0.5/32              md5
local   all             all                                     peer

2017-08-16 03:44:34 GMT LOG:收到快速關機請求

有人手動或通過 Windows 服務控制器 ( , , …)執行了pg_ctl -m fast stopthen 。pg_ctl start``services.msc``net service

如果不是你,那是一個預定的工作,來自一些非官方的 3rd 方的一些與 PostgreSQL 相關的工具的自動更新,等等。因為除非你的系統被歷史上最神秘的幸運宇宙射線擊中,否則就會發生這種情況。

無法從 PostgreSQL SQL 環境中重新啟動 PostgreSQL(通過 PgAdmin 的 SQL 連接psql等)。您可以通過從不受信任的過程語言發送信號來做到這一點,plpythonu或者plperlu如果您以數據庫超級使用者身份連接並且安裝了這些語言。但除此之外,它會在命令外殼級別使用pg_ctl,通過向 postmaster 程序發出信號等來完成。

引用自:https://dba.stackexchange.com/questions/183633