このエラーでググってこちらに来て下さった方は、下記記事の対応が現時点での最適解と考えますので、こちらをまずご覧ください。(2021/11/25追記)
エラーの発生
postgresqlを立ち上げようとした所下記のエラーメッセージが出た。
% psql postgres psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such file or directory Is the server running locally and accepting connections on that socket?
色々試しても何も変わらない。
探すとこちらの記事があった。まんま同じ名前のstack overflowの記事。
psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory
今回取った対応:ダウングレード
要はpostgresql14になったから発生したエラーだから、ダウングレードすべし、と言うもの。
アドバイス通りやりました。
brew uninstall postgresql brew install postgresql@13 brew services start postgresql@13 brew link postgresql@13 --force
しかし、皆様お分かりと思いますが、これはただpostgresql14をアンインストールして、postgresql13を入れ直す荒技です。
解決とダウングレードの影響
改めてpostgresqlを立ち上げると過去に作ったデータベースは無くなっていました。
練習用に作ったデータベースが殆どなのでダメージはそれほどでもありません。
何はともあれ、解決しました。情報共有感謝。
解決はしたけれど
このエラー、実は頻繁に起きる様です。
今回の件で調べている中でも数年前から色々なバージョンのpostgresqlについて同様のエラーメッセージで質問している人を多く見かけました。
このエラーが起きる度にデータベースをクリアしていると大変なので更に色々調べてみると、下記の記事がありました。
postgresqlでDBが作れなかったのを解決(してもらった)
なる程納得。
何はともあれ
/usr/local/var/log/
にある”postgres.log”を見ましょう、との事。
新しく作った@13のログは”postgresql@13.log”の別ログで保存されており、元のログが“postgres.log”で残っていました。
確認した所記事で仰る通りでした。
ログは下記の通り。
2021-11-03 18:12:05.775 JST [25489] FATAL: database files are incompatible with server 2021-11-03 18:12:05.775 JST [25489] DETAIL: The data directory was initialized by PostgreSQL version 13, which is not compatible with this version 14.0.
対応は以下2択
- brew install でバージョン13のpostgresqlを入れ直す。
- データディレクトリを消してどちらもバージョン14をインストールし直す。
今回やったのは1のバージョン13のpostgresql入れ直し。
これだとデータベースが消える事が分かった。
次発生した際は2のデータディレクトリを消してどちらも14をインストールし直そう。
過去のデータを残したまま解決すると良いのだけれど、どうなるかはまた次回のお楽しみ(?)。
コメント
[…] psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or… […]