19

PostgreSQL と Psycopg2 を使用しようとしているときに、奇妙な状況に遭遇しました。何らかの理由で、python 経由で postgre データベースに接続しようとするたびに、次のエラーが発生します。

psycopg2.OperationalError: FATAL:  no pg_hba.conf entry for host "127.0.0.1", user "steve", database "steve", SSL on
FATAL:  no pg_hba.conf entry for host "127.0.0.1", user "steve", database "steve", SSL off

当然、pg_hba.conf をチェックして問題を確認しましたが、私が確認できる限り、すべてが正しく構成されているように見えました。

pg_hba.conf:

# TYPE  DATABASE        USER            CIDR-ADDRESS            METHOD

# "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

さらに、期待どおりに psql を介してデータベースに接続できることがわかりました。

$ psql -U steve -h 127.0.0.1
...
steve=>

ここで何が起こっているのか、誰にも考えがありますか? 前もって感謝します!

4

2 に答える 2

18

典型的な説明は次のとおりです。

  • 間違ったサーバーに接続しています。
    DB サーバーは Python と同じホストで実行されていますか?

  • ポートが間違っています
    接続試行が表示された場合は、サーバー ログを確認してください。もちろん、そのためには接続をログに記録する必要があります。config パラメータlog_connectionsを参照してください。

  • 変更後にサーバーをリロード(SIGHUP)しなかったpg_hba.confか、間違ったクラスターをリロードしました (複数の DB クラスターがある場合)。そのためには、Debian および派生物でorを
    使用します。pg_ctlpg_ctlcluser

于 2012-05-21T23:50:31.507 に答える