2017-11-18 9 views
0

をPostgreSQLをインストールするとき、私は自分のコンピュータのLinuxミントサラにPostgreSQLをインストールしたい、と私はCMDのPostgresのエラーでpsqlを入力するとき、私はこのように、手順のインストールを完了しますが:PostgreSQLをインストールするときエラーLinuxのミントでサラ

エラー

psqlは:サーバーに接続できませんでした:そのようなファイルやディレクトリ は、サーバーがローカルで実行されていないと、Unixドメインソケット「/var/run/postgresql/.s.PGSQL.5432」に 接続を受け入れていますか?

私はそれをどのように修正しましたか? ありがとう

答えて

1

エラーは、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 

:デフォルトでは

は、ファイルの下部に次の行が表示されるはずです。

関連する問題