PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgres ferme la connexion pendant la requête après quelques centaines de secondes lors de l'utilisation de Psycopg2

Ajout du keepalive paramètres au psycopg2.connect l'appel semble avoir résolu le problème :

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
        )

Je ne sais toujours pas pourquoi c'est nécessaire. Je ne trouve personne d'autre qui a décrit devoir utiliser le keepalives paramètres de mots-clés lors de l'utilisation de Postgres dans Docker juste pour pouvoir exécuter des requêtes qui prennent plus de 4 à 5 minutes, mais peut-être est-il assez évident que personne ne l'a noté ?