🛵
【Postgres】Postgresのサーバーにアクセスする。(エラー解決)
環境
% brew info postgresql
postgresql: stable 13.4 (bottled), HEAD
エラー内容
下記のようにPostgreSQL(psql)が再起動したと記載されるが、
% brew services restart postgres
Stopping `postgresql`... (might take a while)
==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)
==> Successfully started `postgresql` (label: homebrew.mxcl.postgresql)
実際に、listでpsqlを確認すると、statusがエラーと表示される。
% brew services list
Name Status User Plist
mysql stopped
php stopped
postgresql error mac /usr/local/opt/postgresql/homebrew.mxcl.postgresql.plist
エラー解決まで、気にしていたこと
こちらのエラーが出ていたので、ソケット関係で問題が生じていたのかなと思ったのですが、
そもそもpsqlが起動できていないことが原因だと気づきました。
% psql -l
psql: error: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
(参考)
macos+homebrew+postgres で接続エラー「PG::ConnectionBad: 〜"/tmp/.s.PGSQL.5432"?」を解決
エラー解決
下記のように直接起動を試したところ、途中で変更してしまった権限でエラーが起きていることに気づきました。
info の最後にあったフォアグラウンドでの起動を試してエラーメッセージを確認することにしました。
% pg_ctl -D /usr/local/var/postgres start
waiting for server to start....2021-10-03 17:35:46.746 JST [74670] FATAL: data directory "/usr/local/var/postgres" has invalid permissions
2021-10-03 17:35:46.746 JST [74670] DETAIL: Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).
stopped waiting
pg_ctl: could not start server
Examine the log output.
権限を直し、起動したところ成功しました。
% sudo chmod 700 /usr/local/var/postgres
% brew services restart postgres
% brew services list
Name Status User Plist
mysql stopped
php stopped
postgresql started mac /Users/mac/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
参考文献
今回のエラーは下記のサイトを確認している際に気づきました。
ありがとうございます。
Discussion