Postgresql
psql:無法連接到伺服器:沒有這樣的文件或目錄
我知道這是一個重複發布的問題,但我一直無法找到適合我的答案。
PostgreSQL 9.5 執行良好,有人決定我們需要編輯 pg_hba.conf 文件並重新啟動服務,所以我們這樣做了。從那時起,在嘗試連接到數據庫時會出現這個不祥的錯誤消息(我們試圖恢復更改並重新啟動服務,但這並沒有解決它)。看起來該程序正在執行,因為
service --status-all
顯示 postgres 正在執行,如
[ + ] postgresql
但是,如果我跑
service postgres status
輸出看起來像這樣(開頭的黑點實際上是綠色的):
● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Fri 2016-11-04 11:49:18 UTC; 27min ago Main PID: 1079 (code=exited, status=0/SUCCESS) Tasks: 0 Memory: 0B CPU: 0 CGroup: /system.slice/postgresql.service Nov 04 11:49:18 kissdb systemd[1]: Starting PostgreSQL RDBMS... Nov 04 11:49:18 kissdb systemd[1]: Started PostgreSQL RDBMS.
但是,當我嘗試在
ps
輸出中查找程序的 PID 時……找不到,所以我最好的猜測是,有些東西在告訴服務正在執行,而實際上並未在執行,我不知道如何讓我的手解決這個問題。此外,我似乎無法訪問
pg_ctl
,postgres
命令,並且 中沒有/var/
目錄/usr/local/
,我想這應該令人擔憂,因為我研究過的幾乎每個給定答案都提到了它。請有人幫助我:(我可以提供您可能需要的更多資訊,我真的不知道發生了什麼,所以我不確定我是否已經提供了必要的資訊讓某人知道問題出在哪裡.
好吧,我發現這一切都有什麼問題。
首先,通過執行
/usr/bin/pg_lsclusters
我可以看到集群確實沒有線上。然後我檢查了/var/log/postgresql/postgresql-9.5-main.log
文件以查找導致集群無法啟動的具體錯誤是什麼,我可以看到我的ph_hba.conf
文件不知何故無法讀取。我不知道權限如何或何時更改,但確實如此。我
chmod 644
是他們,現在一切都很棒。