PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

O Postgres fecha a conexão durante a consulta após algumas centenas de segundos ao usar o Psycopg2


Adicionando o keepalive parâmetros para o psycopg2.connect chamada parece ter resolvido o problema:
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
        )

Ainda não sei por que isso é necessário. Não consigo encontrar mais ninguém que tenha descrito ter que usar as keepalives palavras-chave de parâmetro ao usar o Postgres no Docker apenas para poder executar consultas que levam mais de 4-5 minutos, mas talvez seja óbvio o suficiente que ninguém tenha notado isso?