PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgres schließt die Verbindung während der Abfrage nach einigen hundert Sekunden, wenn Psycopg2 verwendet wird

keepalive hinzufügen Parameter zu psycopg2.connect Aufruf scheint das Problem gelöst zu haben:

self.db = pg.connect(
            dbname=config.db_name,
            user=config.db_user,
            password=config.db_password,
            host=config.db_host,
            port=config.db_port,
            keepalives=1,
            keepalives_idle=30,
            keepalives_interval=10,
            keepalives_count=5
        )

Ich weiß immer noch nicht, warum das notwendig ist. Ich kann niemanden finden, der beschrieben hat, dass er die keepalives verwenden muss Parameterschlüsselwörter bei der Verwendung von Postgres in Docker, nur um Abfragen ausführen zu können, die länger als 4-5 Minuten dauern, aber vielleicht ist es offensichtlich genug, dass es niemand bemerkt hat?