Linux

電腦在工作時崩潰後postgres服務突然無法工作

  • June 17, 2015

在過去的幾個月裡,我一直在 Linux 伺服器上使用 postgres。上週,我們一半的伺服器崩潰了,我的一台也崩潰了。發生這種情況時,我正在使用 osm2pgsql 將數據上傳到 postgres 數據庫。在我們恢復伺服器後,postgres 已經停止工作。

命令:

service postgresql start
(Alternatively, /etc/rc.d/init.d/postgresql start, same thing happens)
Starting postgresql service:  [  OK  ]

service postgresql status

postmaster dead but pid file exists

嘗試使用啟動 postmaster

su postgres
postmaster -D /var/lib/pgsql/data

也沒有產生任何東西。


至於 pid 文件,/var/run/postmaster.5432.pid存在,當我刪除它時,狀態變為“postmaster 已停止”,但如果我嘗試再次啟動它:

service postgresql start
Starting postgresql service: [FAILED]

如果有人知道我可以做些什麼來讓它工作,問題可能出在哪裡。真正讓我感動的是它一直工作到上週,我什至重新啟動了備份,但似乎沒有任何改變,我真的對這個問題束手無策!

當我遇到此消息時,我檢查了 postgresstartup.log,它顯示數據目錄的權限為 777,我更改為 700 後,postgresql 開始工作

sudo su - postgres

chmod 700 -R <postgresql_Data_Directory>


exit

/etc/init.d/postgresql start

/etc/init.d/postgresql status

檢查 server.log。這通常表明問題發生的原因。我遇到了同樣的問題,我可以看到它無法找到 var/postgres/postgres.auto.conf 等。

我正在使用 Mac,所以我使用了以下命令,它又回來了。但是我失去了我的數據文件夾。

brew uninstall postgres
brew install postgres
initdb `brew --prefix`/var/postgres/data -E utf8``

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