簡體   English   中英

Postgres 服務器錯誤 -> PGError:無法連接到服務器

[英]Postgres Server error -> PGError: could not connect to server

嘗試在本地主機上啟動 Rails 應用程序時出現以下錯誤:

PGError(無法連接到服務器:沒有這樣的文件或目錄服務器是否在本地運行並接受 Unix 域套接字“/tmp/.s.PGSQL.5432”上的連接?

從我讀過的內容來看,這很可能是連接到 Postgres 服務器時出現的問題,並且可能表明它沒有啟動?

這一切都始於我第一次嘗試使用 git 合並(是的菜鳥!)。 有一個沖突(與 Rubymine workspace.xml 文件有關),我開始打開一個沖突解決程序。 然后似乎根本不需要跟蹤workspace.xml,所以我退出了解析程序,打算在文件上運行“git rm --cached”。 我認為在退出程序時出現問題,我最終重新啟動,然后取消跟蹤文件,然后完成合並。 有什么東西被搞砸的進一步證據是,在我重新啟動機器之前,我的終端外殼沒有正確打開。

現在,據我所知,合並中的一切都進行得很順利(無論如何,兩個分支之間存在微不足道的差異),但對於我的一生,我似乎無法擺脫這個 PGError。 如果它像啟動服務器一樣簡單,那么我很樂意幫助您了解如何做到這一點。

(其他上下文:OSx、rails 3、通過 macports 安裝的 posgresql83、pg gem)。

編輯 - 我一直在嘗試啟動服務器,但沒有成功。 例如,我試過:

pg_ctl start -D /opt/local/var/db/postgresql83/defaultdb

這似乎是數據的正確路徑(它找到 postgresql.conf 文件),但我得到的響應是“無法執行二進制文件”。

並且可能表明它沒有啟動?

是的,聽起來服務器沒有在您的本地機器上運行。

參見PostgreSQL手冊中對這個錯誤的描述:
http://www.postgresql.org/docs/8.3/static/server-start.html#CLIENT-CONNECTION-PROBLEMS

嘗試sudo port load postgresql83-server - 這應該適用於來自 macports 的最新 8.3 端口。

如果這不起作用,請嘗試sudo port selfupdate; sudo port upgrade outdated sudo port selfupdate; sudo port upgrade outdated ,然后重試。

注意 - 這可能需要很長時間。

要啟動服務器,請嘗試以下幾行(針對 pgsql 版本號和日志文件進行調整):

sudo su postgres -c '/opt/local/lib/postgresql84/bin/pg_ctl -D /opt/local/var/db/postgresql8/defaultdb -l /opt/local/var/log/postgresql84/postgres.log start'

要停止服務器,

sudo su postgres -c '/opt/local/lib/postgresql84/bin/pg_ctl -D /opt/local/var/db/postgresql84/defaultdb stop'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM