Psycopg2 无法连接到服务器

时间:2021-04-30 17:11:11

标签: python sqlalchemy psycopg2

我正在编写一个专有脚本,用于查询公司数据库以提取某些信息。我正在使用 Psycopg2。在这一点上,我使用的线条是这样的:

conn = psycopg2.connect("dbname='somedb' user='usr' host='something.azure.com' password='pswd' port='5432'")
cur = conn.cursor()
query = "something"
cur.execute(query)
results = cur.fetchall()

直到几天前脚本运行良好,在调试期间快速连续运行后,我开始得到:

psycopg2.OperationalError: server closed the connection unexpectedly
    This probably means the server terminated abnormally
    before or while processing the request.

仔细一看,我意识到我没有正确关闭连接。所以我修改为:

with psycopg2.connect("dbname='somedb' user='usr' host='something.azure.com' password='pswd' port='5432'") as conn:
    cur = conn.cursor()
    query = "something"
    cur.execute(query)
    results = cur.fetchall()

即使服务器端没有其他连接,错误仍然存​​在,因此点击 max_connection 不太可能是这里的原因。

奇怪的是,我可以通过 PGAdmin 访问同一台服务器,或者在同一台机器上使用 sqlalchemy.create_enginepandas.read_sql。此外,该脚本在另一位同事的机器上运行良好,同时通过 VPN 模仿我的 IP 地址。

编辑:sqlalchemy 只为我的机器工作了一次,之后我开始遇到同样的错误。 我的 sqlalchemy 代码:

engine = create_engine('postgresql://{0}:{1}@{2}:5432/db'.format(USR, PSWD, HOST))
query = "something"
df = pd.read_sql(sql=query, con=engine)

0 个答案:

没有答案