当前位置: 首页 > 面试题库 >

psycopg2.OperationalError:严重:不支持的前端协议1234.5679:服务器支持2.0到3.0

丌官绍元
2023-03-14
问题内容

我正在使用Macbook

当连接localhost
db(在Mac上为PostgreSQL)时,Psycopg2可以很好地工作。当我尝试在Windows10上连接PostgreSQL数据库时,引发了错误。

以下代码是我用于连接的内容,主机只是Windows10的IP

db= psycopg2.connect(database='dbname',user='username',password="secret",host="192.168.3.9",port="5432")

错误:

  File "path/to/psycopg2/__init__.py", line 126, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL:  unsupported frontend protocol 1234.5679: server supports 2.0 to 3.0

这是因为系统兼容性还是其他原因?我尝试了其他Windows机器,但没有运气使其工作。但是,当我使用Node.JS模块pg时,我能够在Windows上连接PostgreSQL。


问题答案:

1234.5679是客户端发送的用于请求SSL加密数据库连接的特殊代码,自1999年提交e0e7daef6da以来,对它的支持就一直存在于PostgreSQL中。但是您的PostgreSQL不能这么老,因为在2003年之前未添加对协议版本3.0的支持。

实际上,通过研究src/backend/postmaster/postmaster.c和阅读邮件列表,这是PostgreSQL服务器上的错误:

必须将客户端配置为尝试GSS身份验证,并且当服务器拒绝时,它希望协商SSL连接,但是服务器目前不希望这样做。因此错误。

请参阅此处的讨论。该错误已在版本12.3中修复。

解决方法是,在客户端上禁用GSS身份验证或SSL协商。

在psycopg2中,通过sslmode="disable"在连接字符串中使用来禁用SSL,而通过来禁用GSS
gssencmode="disable"。有关详细信息,请参见文档。



 类似资料:
  • 本文向大家介绍Dubbo支持服务多协议吗?相关面试题,主要包含被问及Dubbo支持服务多协议吗?时的应答技巧和注意事项,需要的朋友参考一下 Dubbo 允许配置多协议,在不同服务上支持不同协议或者同一服务上同时支持多种协议。

  • 《知晓云服务协议》是广州爱范儿科技股份有限公司及其关联公司(以下简称“本公司”、“本网站”或“甲方”)与所有使用知晓云服务的主体(包括但不限于个人、团队、企业等,以下简称“用户”、“您”或“乙方”)对知晓云服务及相关服务的使用所订立的有效合约。《知晓云服务协议》以下或简称“本服务协议”、“服务协议”或“本协议”。用户使用知晓云服务的任何行为即表示接受本协议的全部条款。本协议适用于任何知晓云服务,包

  • 使用 Lookout sdk是推荐方式,当然 Lookout gateway 还支持其他协议上报。(但由于属于非标接入,细节可联系我们) 注意如果使用 非lookout sdk ,自己一定注意控制客户端metrics数量! [Don’t over use labels(tags)] 1.Promethues Push协议写入支持 Lookout-gateway这里扮演的是一个 prometheus

  • 当我想要在neo4j服务器上持久化数据时出现此错误。你觉得问题可能出在哪? 我的pom.xml如下所示 我的controller类如下所示: 我的公司节点如下 我的人节点如下 我可以成功启动spring boot应用程序和tomcat servlet服务于端口8080。 但当我在Postman上执行此操作时,我收到标题上的错误:org.neo4j.driver.exceptions.cliente

  • 下面的代码是TCP客户端的套接字编程示例。 但当我运行该操作时,connect()作为协议不支持的地址族返回。