我想讓Postgres 9.2.4在Windows 7上作爲服務運行。安裝postgres後,服務運行良好。但是,將postgres設置爲另一個程序的服務器後,該服務停止運行。當我現在嘗試啓動服務,我得到一個消息說:PostgreSQL 9.2.4(Windows 7) - 服務無法啓動,「無法加載pg_hba.conf」
「PostgreSQL的-x64-9.2 - 本地 計算機上PostgreSQL服務器9.2服務啓動,然後停止一些服務自動停止,如果 他們沒有被其他服務或程序使用。「
當我嘗試運行應該使用數據庫服務器的程序,我得到這個錯誤:
「的一個問題是在試圖登錄或創建 生產數據庫中遇到詳情:莫非無法連接到服務器,可能 無法連接到遠程套接字應用程序現在必須關閉」
我曾經也遇到過這樣的錯誤,一旦同時打開同一個程序:
。「試圖登錄或創建生產數據庫時遇到問題。詳細信息:FATAL:無法加載的pg_hba.conf的 應用程序必須立即關閉」
我已經嘗試運行該服務登錄作爲本地系統賬戶,以及我自己的帳戶(在Postgres服務屬性) 。無濟於事我還試圖重新啓動我的電腦有很多故障排除後在網上,我得知要檢查好東西是pg_log文件下面是最新的pg_log項的內容:。
2013-05-29 14:59:45 MDT LOG: database system was interrupted; last known up at 2013-05-29 14:58:01 MDT
2013-05-29 14:59:45 MDT LOG: database system was not properly shut down; automatic recovery in progress
2013-05-29 14:59:45 MDT LOG: record with zero length at 0/175BB98
2013-05-29 14:59:45 MDT LOG: redo is not required
2013-05-29 14:59:45 MDT LOG: database system is ready to accept connections
2013-05-29 14:59:45 MDT LOG: autovacuum launcher started
2013-05-29 15:07:00 MDT LOG: local connections are not supported by this build
2013-05-29 15:07:00 MDT CONTEXT: line 1 of configuration file "C:/PostgreSQL/data/pg_hba.conf"
2013-05-29 15:07:00 MDT FATAL: could not load pg_hba.conf
2013-05-29 15:07:00 MDT LOG: local connections are not supported by this build
2013-05-29 15:07:00 MDT CONTEXT: line 1 of configuration file "C:/PostgreSQL/data/pg_hba.conf"
2013-05-29 15:07:00 MDT FATAL: could not load pg_hba.conf
2013-05-29 15:09:03 MDT LOG: received fast shutdown request
2013-05-29 15:09:03 MDT LOG: aborting any active transactions
2013-05-29 15:09:03 MDT LOG: autovacuum launcher shutting down
2013-05-29 15:09:03 MDT LOG: shutting down
2013-05-29 15:09:03 MDT LOG: database system is shut down
似乎遇到與pg_hba.conf文件有關的問題,如下所示:
local all all trust
host all all 127.0.0.1 255.255.255.255 trust
host all all 0.0.0.0 0.0.0.0 trust
根據網上的許多建議,我嘗試編輯頂端行到一些不同的選擇(主機所有所有信任/主機所有127.0.0.1/32信任/主機所有192.168.0.100/24信任等) 。這對我來說很有意義,因爲日誌文件說本地連接不被postgres支持,並且也指向該行。但是,我的更改沒有任何影響。每次更改後我都嘗試重新啓動計算機,但沒有任何區別。
當我搜索pg_hba.conf文件通常的樣子的例子時,這些例子與我的文件略有不同。我注意到在PostgreSQL程序文件中,除了pg_hba.conf之外,還有一個「20130529-150444-old-pg_hba.conf」文件,這個文件看起來更像我在網上找到的例子。此文件的註釋若干行,這些最後幾行之前:
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
我希望,這是原來的pg_hba.conf文件,而且如果我更換了新的文件與舊的內容,Postgres的會重新開始工作。沒有這樣的運氣。我一直希望能夠在pg_log中記錄更多的錯誤文件,以查看前面說過的錯誤是否已經消失或者更改爲其他內容,但是沒有更多的文件被記錄。
我一直在線疑難解答幾天,沒有發現我的工作。對不起,有這麼長的問題,但我想徹底,幷包括所有相關信息。如果有人能夠解決這個問題或提供建議,我將不勝感激。
謝謝,這個工作對我來說,雖然增加下面一行包括我的本地IP(從本地虛擬機連接)做了訣竅:'主機全部192.168.1.49/32 md5' –
這是唯一的解決方案,爲我工作。謝謝! – profimedica
當我嘗試啓動postgres時,在conf文件中使用這個或任何ipv4變體都會導致相同的錯誤。 – Amalgovinus