【问题标题】:psycopg2.OperationalError: FATAL: client authentication failedpsycopg2.OperationalError:致命:客户端身份验证失败
【发布时间】:2019-02-09 04:46:38
【问题描述】:

我在尝试连接到企业数据库时遇到以下错误,感谢您提供任何信息。

psycopg2.OperationalError: FATAL:  client authentication failed
DETAIL:  no pool_hba.conf entry for host "xxx.xx.xx.xxx", user "enterprisedb", database "enterprisedb", SSL off
HINT:  see pgpool log for details


import psycopg2

conn = psycopg2.connect(database="enterprisedb", user = "enterprisedb", password = "wifimsdp", host = "xx.xxx.xx.xxx", port = "5431")



在 pool_hba.conf 中有以下条目

"local" 仅用于 Unix 域套接字连接

本地所有人都信任

【问题讨论】:

    标签: python python-3.x enterprisedb


    【解决方案1】:

    pg_hba.conf 配置文件包含认证信息,例如,postgresql 允许哪些主机/IP 地址使用哪个用户并连接到哪个数据库。用于连接数据库的 IP 地址在数据库系统的 pg_hba.conf 文件中没有条目。 pg_hba.conf 上特定主机的基本条目如下:

    host       database  user  address  auth-method  [auth-options]
    

    地址部分必须提到带有掩码的IP地址,例如192.168.0.100/32格式。更多详情请关注官方documentation

    【讨论】:

    • 已经添加了配置:"local" 用于 Unix 域套接字连接仅本地所有所有信任
    • no pool_hba.conf entry for host "xxx.xx.xx.xxx" 仔细检查此消息,您没有使用本地 unix 套接字域,否则在验证主机时不会出现此错误。您在连接到数据库时使用 127.0.0.1 or localhost 作为主机,这会导致 IP 连接而不是本地 unix 套接字连接。尝试使用host=False
    猜你喜欢
    • 2020-04-10
    • 1970-01-01
    • 2016-09-29
    • 2020-05-04
    • 2012-07-05
    • 2017-09-25
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    相关资源
    最近更新 更多