我剛剛使用OS X Server將我的MacMini服務器從Lion Server升級到Mountain Lion。我在去年使用PostgreSQL時遇到了同樣的問題,當時我首先安裝了Lion Server。套接字文件「/var/pgsql_socket/.s.PGSQL.5432」在Mountain Lion中丟失(OS X服務器)
當我嘗試做任何形式的PostgreSQL終端命令我得到很多已經得到了多年來以下臭名昭著的錯誤消息:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
我試圖當我接到更改_postgres密碼錯誤。我嘗試了幾個命令,但得到了同樣的錯誤。我剛剛重啓我的服務器,但沒有運氣。我以root用戶身份登錄到/ var/pgsql_socket,並且該文件夾爲空。文件夾/ var/pgsql_socket_alt也是空的。
我已經在網上查了一下。然而,幾乎所有我讀過的解決方案,包括堆棧溢出,都建議刪除並重新安裝PostgreSQL。我不知道,但這似乎不是一個合理的選擇,因爲服務器應用程序上的幾個選項使用PostgreSQL。我聯繫了蘋果企業支持部門(沒有達成協議),我被告知我的問題必須由開發人員解決,這些開發人員將投入695美元。
我現在有一個網站,因爲我無法重建它。在這一點上,我不知道該去哪裏尋求幫助。我會繼續在網上查看是否可以找到某些東西。不過,我希望有人能夠快速給我一個答案,以便我可以重建我的數據庫。
更新:2012年12月13日15:33 GMT-6
這裏是我的輸出,PS auwwx | grep的postg:
_postgres 28123 0.0 0.1 2479696 7724 ?? Ss 3:01PM 0:00.04 /Applications/Server.app/Contents/ServerRoot/usr/bin/postgres_real -D /Library/Server/PostgreSQL For Server Services/Data -c listen_addresses= -c log_connections=on -c log_directory=/Library/Logs/PostgreSQL -c log_filename=PostgreSQL_Server_Services.log -c log_line_prefix=%t -c log_lock_waits=on -c log_statement=ddl -c logging_collector=on -c unix_socket_directory=/Library/Server/PostgreSQL For Server Services/Socket -c unix_socket_group=_postgres -c unix_socket_permissions=0770
server1 28216 0.0 0.0 2432768 620 s000 R+ 3:02PM 0:00.00 grep postg
_postgres 28138 0.0 0.0 2439388 752 ?? Ss 3:01PM 0:00.01 postgres: stats collector process
_postgres 28137 0.0 0.0 2479828 1968 ?? Ss 3:01PM 0:00.00 postgres: autovacuum launcher process
_postgres 28136 0.0 0.0 2479696 544 ?? Ss 3:01PM 0:00.00 postgres: wal writer process
_postgres 28135 0.0 0.0 2479696 732 ?? Ss 3:01PM 0:00.01 postgres: writer process
_postgres 28134 0.0 0.0 2479696 592 ?? Ss 3:01PM 0:00.00 postgres: checkpointer process
_postgres 28131 0.0 0.0 2439388 368 ?? Ss 3:01PM 0:00.00 postgres: logger process
更新:2012年12月13日18 :10 GMT-6
在激烈的網絡搜索此視頻後發現。我能夠使PostgreSQL正常工作並刪除錯誤。我可以使用pgadmin和phppgadmin進行連接。我正要回到獅子服務器,因爲它非常沮喪。現在我不需要。
http://www.youtube.com/watch?v=y1c7WFMMkZ4
您的問題歸結爲一個事實,即預裝Mac OS X PostgreSQL的'psql'的版本是你安裝的版本之前,你'PATH'。他們在不同的地方尋找unix socket。通過指定'-h localhost'來使用tcp/ip,或者最好修復'PATH',以便首先找到正確的'psql'。蘋果公司奇怪的決定不僅綁定PostgreSQL,而且弄亂它,因此它把事情放在非標準的地方是這個問題的根源。 –
OSX中存在一個持續性問題,打包者決定將unix域套接字放在與正常不同的地方。讓我搜索... BRB ... http://stackoverflow.com/a/8482546/905902 – wildplasser
我在.bashrc中複製了一箇舊的PATH。我還沒有安裝另一個版本的postgreSQL。這是我的PATH語句,其中包含RVM的代碼。如果有人能告訴我要改變它,我會這樣做。當我在/ usr/bin/psql中找到哪個psql時,非常感謝你們的幫助。/usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin/psr:/ usr/bin/psql:/ usr/local/sbin:/ usr/bin「 我也以root身份登錄時搜索套接字文件。 –