首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自python的pg8000 postgres连接问题

来自python的pg8000 postgres连接问题
EN

Stack Overflow用户
提问于 2014-07-16 15:22:39
回答 1查看 10K关注 0票数 1

我很难在新系统上连接到数据库。Python的版本是相同的。下面是DB的连接字符串,您将看到错误消息的更改,但我无法确定为什么当连接字符串正确时,我会得到以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pg8000/__init__.py", line 148, in connect
    user, host, unix_sock, port, database, password, socket_timeout, ssl)
  File "/usr/local/lib/python2.7/dist-packages/pg8000/core.py", line 1157, in __init__
    raise exc_info()[1]
TypeError: cannot concatenate 'str' and 'int' objects

以下是正确的连接字符串:

代码语言:javascript
复制
conn = DBAPI.connect(host='sql2', user='XXX', password='XX', database='XX', socket_timeout=100, port=5432)

当我转变成不正确的东西时:

代码语言:javascript
复制
conn = DBAPI.connect(host='sql2', user='XXX', password='XX', database='XX', socket_timeout=100, port=100)

以及以下错误消息:

代码语言:javascript
复制
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/mnt/opt/Centos5.8/python-2.7.4_scipy0.13/lib/python2.7/site-packages/pg8000/__init__.py", line 148, in connect
    user, host, unix_sock, port, database, password, socket_timeout, ssl)
  File "/mnt/opt/Centos5.8/python-2.7.4_scipy0.13/lib/python2.7/site-packages/pg8000/core.py", line 854, in __init__
    raise InterfaceError("communication error", exc_info()[1])
pg8000.errors.InterfaceError: ('communication error', error(111, 'Connection refused'))

我不知道这条错误信息是从哪里来的--似乎是比扎尔。我试过:

str()中封装字符串放置u'ss'移除端口、添加套接字超时等.

当我查看来自core.py的pg8000代码时,如果您追踪它,它似乎来自于身份验证错误。我认为这个错误(int和str)可能会掩盖身份验证错误。

讯息码

AUTHENTICATION_REQUEST = b("R")

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-20 12:17:47

这是一个pg8000中的bug。是修正于in 8000-1.9.11。错误是报告pg8000在试图对数据库进行身份验证时遇到的错误。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24784598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档