【发布时间】:2011-07-13 20:34:14
【问题描述】:
我遇到了一个奇怪的问题,我无法从 Python 3.2 安装连接到 PostgreSQL。我正在运行 Fedora 15,并使用 yum 从 Fedora 存储库安装了 Python3 和 PostgerSQL9。有没有人知道我为什么会看到这个问题以及如何纠正它? Google 搜索没有出现任何结果。
我已经更改了用户名、密码和数据库,但我的 pg_hba.conf 文件是正确的。
import postgresql
t = postgresql.open(user='validuser', password='secret', database='some_database')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python3.2/site-packages/postgresql/__init__.py", line 88, in open
c.connect()
File "/usr/lib64/python3.2/site-packages/postgresql/driver/pq3.py", line 2419, in connect
pq = Connection3(sf, startup, password = password,)
File "/usr/lib64/python3.2/site-packages/postgresql/protocol/client3.py", line 514, in __init__
element.Startup(**startup), password
TypeError: keyword arguments must be strings
附带说明一下,如果我尝试使用不同的用户、密码、数据库组合进行连接,并且如果我使用pq://user:password@host/database 连接字符串而不是关键字来连接本地主机和远程主机,则会出现同样的错误。
【问题讨论】:
标签: python postgresql python-3.x py-postgresql