エラーは、psqlユーティリティがデータベースサーバーに接続するソケットを見つけることができないことを示しています。
データベースサービスがバックグラウンドで実行されていないか、ソケットが別の場所にあるか、またはpg_hba.confが修正されている必要があります。
ステップ1:データベースは、オペレーティングシステムによって異なる場合があり
のコマンドを実行していることを確認します。しかし、ほとんどの* IXのシステム上で次が働くだろう、それはすべての実行中のプロセスの私のシステムで
ps -ef | grep postgres
、マックOSXの中のpostgresを検索します、これは
501 408 1 0 2Jul15 ?? 0:21.63 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log
を出してくれる最後の列はコマンドを示しサーバーの起動に使用されます。
postgresサーバを起動するために利用できるすべてのオプションは、次のようにして見ることができます。
man postgres
そこから、あなたはオプションは-DとそれぞれDATADIR & LOGFILENAME -rであることを参照してくださいね。 ステップ2:postgresのサービスは
使用を実行している場合はPostgresがソケット接続を実行して受け入れている場合は、どこかに/ tmp
sudo find /tmp/ -name .s.PGSQL.5432
であるべきである、ソケットの場所を検索するために見つけます、上にソケットの場所を教えてください。私のマシンでは、それがあることが判明:
/tmp/.s.PGSQL.5432
その後、例えば、明示的にこのファイルの場所を使用してpsqlを経由して接続してみてください。
psql -h /tmp/ dbname
ステップ3:サービスが実行されていますが、ソケットを見つけることができない場合は、ソケット
を見ますが、サービスが実行されていることを確認、検証していない場合は、そのpg_hba.conf
ファイルはローカルソケットを許可します。
datadirを参照すると、pg_hba.confファイルが見つかります。あなたはそれが表示されない場合は、ファイルを変更し、postgresのサービスを再起動することができます
# "local" is for Unix domain socket connections only
local all all trust
:デフォルトでは
は、ファイルの下部に次の行が表示されるはずです。