psycopg2查询远程数据库

Moi*_*izz 6 postgresql psycopg2 python-2.7

我需要从远程数据库中获取一些数据.这里连接代码:

import psycopg2

params = {
  'dbname': 'some_db',
  'username': 'user',
  'password': 'password',
  'host': '333.333.333.333',
  'port': 3333
}

conn = psycopg2.connect(**params)
Run Code Online (Sandbox Code Playgroud)

然后我尝试执行查询:

cur = conn.cursor()
cur.execute("SELECT * FROM sometable")
Run Code Online (Sandbox Code Playgroud)

之后我得到例外:

psycopg2.ProgrammingError: relation sometable does not exist
Run Code Online (Sandbox Code Playgroud)

现在,如果我通过psql从同一台机器连接到具有完全相同参数的数据库:

psql --dbname=some_db --username=user --password=password --host=333.333.333.333 --port=3333
Run Code Online (Sandbox Code Playgroud)

并尝试执行查询:

SELECT * FROM sometable;
Run Code Online (Sandbox Code Playgroud)

我得到的结果没有任何错误.它不仅发生在一个表中,而且发生在该数据库中.

编辑

我在params中没有错.我没用

'username': 'user',
Run Code Online (Sandbox Code Playgroud)

但:

'user': 'user',
Run Code Online (Sandbox Code Playgroud)

Gre*_*reg 7

尝试使用不同的变量名称连接,例如:

params = {
  'database': 'some_db',
  'user': 'user',
  'password': 'password',
  'host': '333.333.333.333',
  'port': 3333
}
Run Code Online (Sandbox Code Playgroud)

看到:

http://initd.org/psycopg/docs/module.html