0

Django の syncdb 操作を実行しようとすると、次のエラーが発生します。

psycopg2.OperationalError: could not connect to server: Permission denied
    Is the server running locally and accepting
    connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

この質問への回答を読み、次のことを試しました。

  • /Library/PostgreSQL/9.1/data/potsgresql.conf で「listen_address」を「localhost」または「*」に変更します
  • 私のsettings.pyファイルで「ホスト」を「localhost」に変更します(Djangoの場合)
  • ユーザーはsettings.pyで正しいパスワードを使用して「postgres」に設定されています

(各ステップの後、postgresql サーバーを再起動しました。)

また、pg_hba.conf ファイルをチェックして、Unix ドメイン ソケットがすべてのユーザーからの接続を受け入れているかどうかを確認しました (このページに基づく)。ここに私が持っているものがあります:

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

以前はこの問題はありませんでした。最近Lionにアップグレードし、最小限のモジュールがインストールされた新しいvirtualenvに取り組んでいます。

4

2 に答える 2

1

Bradley Ayersの好意で答えを見つけました:

  • postgres.confで「unix_socket_directory」を「/var/pgsql_socket/」に設定します
  • 次のコマンドを実行しました。
    • "$sudodscl。append/Groups / _postgres GroupMembership postgres"
    • "$ sudo chmod g + w、o + rx / var / pgsql_socket /"
  • postgresqlを再起動しました
于 2012-10-30T02:59:22.153 に答える
0

データベースが実行されていません

pg_ctl -D /usr/local/var/postgres start

あなたのpostgreデータディレクトリがどこにあると仮定します

于 2012-10-29T05:43:24.007 に答える