web-dev-qa-db-ja.com

OSXでのPostgresqlのインストールの問題

Finkを使用してosxにpostgresqlをインストールしました。 psqlを起動しようとすると、次のようになります。

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

私はこれまでpostgresqlをインストールしたことがないので、どこを見ればよいのかよくわかりません。何か提案はありますか?

5
Tony

これは、PostgreSQLデーモンが実行されていないことを意味します。デーモンがインストールされている場所を見つける必要があります。デフォルトでは、/ usr/local/pgsqlにインストールする必要があります。そこにある場合は、/ usr/local/pgsql/dataディレクトリがあるかどうかを調べます。実行されていない場合:

/ usr/local/pgsql/bin/initdb -D/usr/local/pgsql/data

次に、成功した場合は、

/ usr/local/pgsql/bin/pg_ctl -D/usr/local/pgsql/data start

そして、それはあなたを正しい軌道に乗せるはずです。

3
Gavin M. Roy

私には、現在のユーザーアカウントでPostgresSQLを実行しようとしているようです。 PostgreSQLのfink-propertiesはわかりませんが、関連するデーモンは専用のユーザーアカウントで実行されることになっています(たとえば、postgres )。

まず、PostgresSQLがデータを格納し、構成ファイルが存在するデータディレクトリを特定します。エラーメッセージには、「/ Library/PostgreSQL/8.4/data」の可能性があると表示されているようです。このディレクトリは、すでにpostgres-userに属し、rwx-privilegesを持っている必要があります。 Finkはすでに作成していると思うので、インストールログを確認してください。

このディレクトリの内部を確認してください(コンソールユーザーに対して十分な権限がない可能性があるため、su/Sudoが必要になる場合があります)。いくつかのファイルがある場合、例えば。 postgresql.conf、pg_ *の束、およびその他のいくつかのファイルは、すべてpostgresに属しており、データディレクトリは問題ないようです。それ以外の場合は、次を呼び出します(バイナリパスpostgres-ユーザーとデータパスをシステム値に置き換えます。その他のオプションについては、man initdbを参照してください):

Sudo -u postgres /usr/local/pgsql/bin/initdb  -D /Library/PostgreSQL/8.4/data

ここでは、postgresユーザーとしてSudoにとって重要です。これは、postgresデーモンが実行されるユーザーアカウントには、十分なアクセス権が必要であるためです。

また、sudoでデーモンを開始する必要があります(これは後でlauchctl-entryなどで処理する必要があります)。

Sudo -u postgres /usr/local/pgsql/bin/pg_ctl -D /Library/PostgreSQL/8.4/data

データディレクトリはいつでも再作成できますが、postgresの実行中にバックアップを作成し、上書きしないようにしてください。

2
user13769

Postgresqlが実行され、リッスンしていることを確認できます。

lsof -i |grep LISTEN

1
Matthieu

サーバーが起動しておらず、おそらく実行されていないように聞こえます initdb

ただし、さらに問題が発生した場合は、Mac OS Xにpostgresqlをインストールする最も簡単な(そしてpostgresqlが推奨する)方法は、 EnterpriseDB が提供するGUIインストーラーを使用することです。複数のバージョンのインストールも非常にうまく処理します。

0
dburke