DB -Verbindungen bleiben im Leerlaufstatus mit dem Psycopg2 -Postgres -Treiber mit PythonPython

Python-Programme
Anonymous
 DB -Verbindungen bleiben im Leerlaufstatus mit dem Psycopg2 -Postgres -Treiber mit Python

Post by Anonymous »

Wenn der folgende Code ausgeführt wird, um Daten in eine Datenbanktabelle einzufügen, wird jedes Mal, wenn eine DB-Verbindung in pg_stat_Activity angezeigt wird, der im Zustand im Zustand bleibt:

Code: Select all

column_names = ", ".join(columns)

query = f"INSERT INTO {table_name} ({column_names}) VALUES %s"
values = [tuple(record.values()) for record in records]

with psycopg2.connect(dbname=dbname, user=user, password=password, host=host, port=port, application_name=app_name) as conn:
with conn.cursor() as c:
psycopg2.extras.execute_values(cur=c, sql=query, argslist=values, page_size=batch_size)
Update: Code sieht jetzt so aus, nach Eingabe von Adrian:
conn = psycopg2.connect(dbname=dbname, user=user, password=password, host=host, port=port, application_name=app_name)
with conn:
with conn.cursor() as c:
psycopg2.extras.execute_values(cur=c, sql=query, argslist=values, page_size=self._batch_size)
conn.commit()
conn.close()
del conn
< /code>
Beim mehrmaligen Ausführen wird plötzlich der folgende Fehler geworfen, was darauf hinweist, dass die Verbindungen erschöpft sind: < /p>
E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5446 failed: Connection refused (0x0000274D/10061)
E Is the server running on that host and accepting TCP/IP connections?
E connection to server at "localhost" (127.0.0.1), port 5446 failed: FATAL: remaining connection slots are reserved for roles with the SUPERUSER attribute
< /code>
Könnte es sein, dass dies bei der Verbindung mit dem DB über einen SSH -Tunnel passiert? Verwenden der Portweiterleitung über VSCODE zu einem DB in Azure Cloud.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post