我需要从远程数据库中获取一些数据。这里的代码连接:
import psycopg2
params = {
'dbname': 'some_db',
'username': 'user',
'password': 'password',
'host': '333.333.333.333',
'port': 3333
}
conn = psycopg2.connect(**params)
然后我尝试执行查询:
cur = conn.cursor()
cur.execute("SELECT * FROM sometable")
在那之后,我得到了异常(exception):
psycopg2.ProgrammingError: relation sometable does not exist
现在,如果我通过 psql 从同一台机器连接到具有完全相同参数的数据库:
psql --dbname=some_db --username=user --password=password --host=333.333.333.333 --port=3333
并尝试执行查询:
SELECT * FROM sometable;
我得到的结果没有任何错误。它不仅发生在一张表上,而且发生在该数据库中的所有表上。
编辑
我在参数上没有什么错误。我用不
'username': 'user',
但:
'user': 'user',
最佳答案
尝试连接不同的变量名称,例如:
params = {
'database': 'some_db',
'user': 'user',
'password': 'password',
'host': '333.333.333.333',
'port': 3333
}
看:
http://initd.org/psycopg/docs/module.html
关于postgresql - psycopg2 查询远程数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24814951/