Linux
電腦在工作時崩潰後postgres服務突然無法工作
在過去的幾個月裡,我一直在 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``