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)
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.>