0

私はMacOSXLionでいくつかのRails3.2アプリケーションを開発しています。昨夜、10.7.4から10.7.5に更新しましたが、今朝、開発用のPostgresqlデータベースに接続できなくなったことがわかりました(本番環境は同じコードベースで正常に動作しています)。これは、PostgreSQLを使用するローカルで開発しているすべてのアプリケーションに当てはまります。

接続しようとするたびに表示されるエラーメッセージ:

PG::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"?

同様の問題に関する他のいくつかのSO投稿を読みましたが、それらのほとんどはのPATH変更を示唆しています~/.bash_profilewhich psqlただし、(他の投稿で提案されているように)実行すると、/usr/local/bin/psql返されます。これは正しいです(他の投稿によると)。

すべてのアプリケーションで既存のPostgreSQLデータベースをいじりたくないので、(Homebrew経由でも)PostgreSQLをアンインストールして再インストールすることを躊躇しています。(おそらくそれは潜在的な問題ではありません—私は言うのに十分な自信がありません。)

gemを数回アンインストールして再インストールpgし、シェルセッションを閉じて再度開き、マシン(およびそのすべての組み合わせ)を再起動しましたが、まったく役に立ちませんでした。

ここからどこへ行けますか?

4

1 に答える 1

0

問題は、PostgreSQL が実行されていないことです。まず、OS のアップグレードを行う前に、PostgreSQL のデータベースをバックアップすることを強くお勧めします。ダンプがある場合、物事が南下した場合、より多くのオプションがあります。新しい OS で再コンパイルすると、既存のデータベースに関していくつかの疑問が生じることに同意します。

もちろん、最初に行うことは、PostgreSQL を正常に起動することです。起動スクリプトが不足しているだけかもしれません。何かのようなものsudo -u postgres pg_ctl -D /path/to/postgresql/data/dir

それでもうまくいかない場合は、エラー メッセージを確認して解決する必要があります。問題なく動作することを願っています。うまくいかない場合は、可能であれば、古いバージョンを実行しているシステムにデータ ディレクトリをコピーします。そこから捨ててみてください。コピーを取得したら (重要なのは、最初にファイルをバックアップすることです!)、pg_upgrade が機能するかどうかを確認できます。それが失敗した場合は、以前に実行していたのと同じメジャー バージョンを (homebrew 経由で) コンパイルしてみてください。

それでもだめなら、専門家を雇いましょう。

于 2013-04-10T12:19:16.733 に答える