Psycopg2报告pg_hba.conf错误

Ste*_*uso 10 python postgresql psycopg2

尝试使用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
Run Code Online (Sandbox Code Playgroud)

当然,我检查了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
Run Code Online (Sandbox Code Playgroud)

另外,我发现我可以通过psql连接到数据库,正如我所期望的那样:

$ psql -U steve -h 127.0.0.1
...
steve=>
Run Code Online (Sandbox Code Playgroud)

任何人都对这里可能发生的事情有任何想法?提前致谢!

Erw*_*ter 12

典型的解释包括:

  • 您正在连接到错误的服务器.
    数据库服务器是否与Python在同一主机上运行?

  • 你的端口错了.
    如果发现连接尝试,请检查服务器日志.当然,您必须为此记录连接.请参阅config参数log_connections.

  • 更改后没有重新加载(SIGHUP)服务器pg_hba.conf- 或重新加载错误的集群(如果您有多个数据库集群).
    使用pg_ctlpg_ctlcluser使用Debian及其派生词.