web-dev-qa-db-ja.com

Brewサービスを介して実行されているPostgresサーバーに接続できません

私はこれに対する解決策を探していましたが、実用的な解決策を見つけることができませんでした。

Brewを使用してpostgresをインストールしました(brew install postgres)MacBookで、現在brewサービスを使用して実行しています(brew services listは、postgresを実行中のサービスとして表示します)。ただし、psqlを実行しようとすると、次のエラーが発生します。

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

誰もが同様の問題をすでに解決していますか?

37
leo.fcx

同じエラーが発生したため、プロセスpidファイルを削除して修正しました。

rm -f /usr/local/var/postgres/postmaster.pid

77
Wilson Silva

今日、この問題に遭遇しました。 homebrewは実行されていると考えていたが、postgresは接続の受け入れを停止した。

それを修正するために私は走った、

brew services restart -vvv postgresql

このコマンドからの出力、

==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)
==> Generated plist for postgresql:
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
   <dict>
     <key>KeepAlive</key>
     <true/>
     <key>Label</key>
     <string>homebrew.mxcl.postgresql</string>
     <key>ProgramArguments</key>
     <array>
       <string>/usr/local/opt/postgresql/bin/postgres</string>
       <string>-D</string>
       <string>/usr/local/var/postgres</string>
     </array>
     <key>RunAtLoad</key>
     <true/>
     <key>WorkingDirectory</key>
     <string>/usr/local</string>
     <key>StandardErrorPath</key>
     <string>/usr/local/var/log/postgres.log</string>
   </dict>
   </plist>

それから、そのログファイルに何かがあるのではないかと考えました。

tail -n 10 /usr/local/var/log/postgres.log

案の定、

[4826] FATAL:  lock file "postmaster.pid" already exists
[4826] HINT:  Is another postmaster (PID 1489) running in data directory "/usr/local/var/postgres"?

だから、そのファイルを削除しました

rm /usr/local/var/postgres/postmaster.pid

そして、すべてが再び機能し始めました。

48
Eric Conner

私の場合、postmaster.pidファイルもありませんでした。 postgresをアップグレードすることで機能させることができました。

brew update
brew upgrade

次に、メジャーバージョンを10から11にアップグレードしたため、これも実行する必要がありました。

brew postgresql-upgrade-database

(ソース https://github.com/facebook/react-native/issues/18760#issuecomment-410533581

12
Nelu

ここでウィルソンとグラスホッパーからの2つの答えを組み合わせます。

brew services listを使用してpostgresサービスのplistファイルを確認し、ファイルの場所を見つけて、お気に入りのエディターで開くだけです。

StandardErrorPathの値は次のようにリストされているはずです。

<key>StandardErrorPath</key>
<string>/usr/local/var/log/postgres.log</string>

そして、tail -n 100 /usr/local/var/log/postgres.logを使用してログファイルの末尾を末尾に配置する必要があります

私の場合、エラーは次のとおりです。

2017-12-06 11:51:16.078 GMT [85476]致命的:ロックファイル "postmaster.pid"はすでに存在しています2017-12-06 11:51:16.078 GMT [85476]ヒント:別のポストマスター(PID 601)が実行されていますデータディレクトリ「/ usr/local/var/postgres」?

これは、Macをハードシャットダウンする必要があり、postgresがPIDファイルをクリーンアップする機会を得られなかったためです。 PIDファイルrm /usr/local/var/postgres/postmaster.pidを削除して、postgres brew services start postgresqlを起動するだけです

警告:postgresが実行されていないことが確実でない限り、このPIDファイルを削除しないでください。これを行うには、brew services stop postgresqlを実行し、brew services listの結果を待って、posgresが停止状態であることを示します。

11
real_ate

私のために働いたのは、/usr/local/var/postgres/フォルダーとpostgresのアンインストールと再インストール

4

バージョンタップからpostgresql93をインストールすると同じエラーが発生しました。 brew services list~/Library/LaunchAgents/homebrew.mxcl.postgresql93.plist)の出力に示されている.plistファイルを調べると、次のメッセージが見つかりました。

致命的:データディレクトリ「/ usr/local/var/postgres」にグループまたはワールドアクセスがあります
詳細:権限はu = rwx(0700)である必要があります。

この答えに私を導いた: データディレクトリ「/ usr/local/var/postgres」の所有権が間違っています

Sudo chmod -R 700 /usr/local/var/postgresを実行した後、別のエラーが発生しました:

致命的:ディレクトリ "pg_tblspc"を開けませんでした:そのようなファイルまたはディレクトリはありません

それが私を導きました: `pg_tblspc` OS Xの最新バージョン(ヨセミテまたはエルキャピタン)のインストール後に行方不明

mkdir /usr/local/var/postgres/pg_tblspc/を実行した後、クラスターは正常に起動しました。

3
Grasshopper