Python psycopg2的结果来自无效连接
我正在使用psycopg2连接到我的本地postgres实例,但没有意识到我从未设置过环境变量。我决定在sys表(information_schema.tables)上进行一次选择,以检查我是否已连接,并返回结果。我困惑了很长一段时间,试图找出为什么我没有得到想要的结果 引擎盖下到底发生了什么导致了这种情况,为什么psycopg2没有出错并说这是一个无效的连接Python psycopg2的结果来自无效连接,python,postgresql,psycopg2,Python,Postgresql,Psycopg2,我正在使用psycopg2连接到我的本地postgres实例,但没有意识到我从未设置过环境变量。我决定在sys表(information_schema.tables)上进行一次选择,以检查我是否已连接,并返回结果。我困惑了很长一段时间,试图找出为什么我没有得到想要的结果 引擎盖下到底发生了什么导致了这种情况,为什么psycopg2没有出错并说这是一个无效的连接 import psycopg2 conn = psycopg2.connect( host=None
import psycopg2
conn = psycopg2.connect(
host=None,
port=None,
dbname=None,
user=None,
password=None,
)
cur = conn.cursor()
cur.execute("""SELECT table_name
FROM information_schema.tables
limit 3 """)
print(cur.fetchall())
结果:
[('pg_statistic',),('pg_foreign_table',),('pg_authid',)]
当然,这种联系是有效的。当您将空参数传递给
psycopg2.connect()
时,程序会得到明显正确设置的参数。请注意,如果将DSN字符串传递给函数,则情况并非如此:
conn = psycopg2.connect("host=None") # this defines an invalid connection
Per:
PostgreSQL文档包含了完整的。还请注意,可以使用将相同的参数传递到客户端库