詳細的報錯信息如下:
LOG: database system is ready to accept connectionsLOG: database system was interrupted;LOG: database system was not PRoperly shut down; automatic recovery in progressLOG: invalid record length at 0/2EA3830: wanted 24, got 0LOG: redo is not requiredLOG: MultiXact member wraparound protections are now enabledLOG: database system is ready to accept connectionsLOG: autovacuum launcher startedLOG: database system was interrupted; last known up at 2017-03-02 00:32:34 UTCLOG: received smart shutdown request因為項目集成了docker,docker里又有postgresql數據庫,所以在調試程序的時候,經常會有重啟項目的時候(一般修改代碼,會自動重啟服務的,特殊情況除外),因為是剛結束服務,有立馬啟動服務,所以會經常啟動不了,報錯如上。
網上也查了一下,最后確定問題的原因: postgresql數據庫里有一個文件“postmaster.pid”,它是記錄postgresql啟動時的pid信息的,理論上在停止服務的時候,此文件會被刪除掉的,但由于我操作頻繁,導致它還沒有被刪除,在啟動postgresql服務的時候,postgresql查詢到pid文件的存在,以為服務已經啟動起來了,為了不重新加載就不再啟動服務了… 所以就直接 把那個pid文件刪除掉…之后再啟動服務,果然就正常咯
新聞熱點
疑難解答