在 Windows 上將 postgres 作為服務運行會立即啟動和停止

在 Windows 上將 postgres 作為服務運行會立即啟動和停止

由於我重新啟動 Windows 以安裝更新,Postgres 停止作為服務啟動。我認為這可能是一個權限,所以我給了每個人修改postgres安裝資料夾的能力。然後我嘗試使用啟動來運行資料庫並且它有效。但是,當我嘗試啟動該服務時,我收到以下訊息:本機電腦上的服務已啟動並停止。

然後我嘗試重新安裝Postgres,但它到了最後並且無法啟動。

任何幫助都會很棒。

答案1

我在 v9.4 上遇到了同樣的問題

我發現刪除c:\Program Files(x86)\PostgreSQL\9.4\data\postmaster.pid然後\postmaster.opts重新啟動服務可以解決問題。

答案2

切勿在未檢查錯誤日誌的情況下執行任何激烈的操作,例如卸載並重新安裝:

(Windows) C:\Program Files\PostgreSQL<版本>\data\log

問題可能是非常簡單的事情,例如(在我的例子中)IP 位址pg_hba.conf缺少掩碼 - 在這種情況下盲目卸載可能不起作用。

答案3

問題的解決辦法是完全卸載Postgres並重新安裝。我確保在重新安裝之前從磁碟中刪除了它的所有痕跡。這似乎是讓它發揮作用的唯一方法。

答案4

我使用的是 Windows,我注意到有時日誌不會告訴您出了什麼問題。我發現的一個解決方法是:

  1. 在我的系統上,postgres.exe 位於「C:/Program Files/PostgreSQL/16/bin/postgres.exe」。你的應該位於類似的位置。您必須將 16 更改為您自己的 PostgreSQL 版本號。

  2. 打開CMD並運行

"C:/Program Files/PostgreSQL/16/bin/postgres.exe" "-D" "C:\Program Files\PostgreSQL\16\data"

輸出將告訴您程式無法正常運作的原因,然後您可以繼續解決問題。

在某些情況下,您會發現您的配置存在一些問題,一旦這些問題修復,程式應該可以正常運行而不會再出現任何問題。

相關內容