Postgresql
意外的 PostgreSQL 重啟
我的 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 stop
then 。pg_ctl start``services.msc``net service
如果不是你,那是一個預定的工作,來自一些非官方的 3rd 方的一些與 PostgreSQL 相關的工具的自動更新,等等。因為除非你的系統被歷史上最神秘的幸運宇宙射線擊中,否則就會發生這種情況。
無法從 PostgreSQL SQL 環境中重新啟動 PostgreSQL(通過 PgAdmin 的 SQL 連接
psql
等)。您可以通過從不受信任的過程語言發送信號來做到這一點,plpythonu
或者plperlu
如果您以數據庫超級使用者身份連接並且安裝了這些語言。但除此之外,它會在命令外殼級別使用pg_ctl
,通過向 postmaster 程序發出信號等來完成。