PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

La connessione db di Psycopg2 si blocca in caso di connessione di rete persa

Dopo una lunga e brutale lotta, penso di aver risolto questo problema semplicemente eseguendo la strategia di cui parlano gli altri, ma utilizzando la stessa funzione di connessione psycopg2:


from psycopg2 import connect


conn = connect(
        database=database,
        user=username,
        password=password,
        host=hostname,
        port=port,
        connect_timeout=3,
        # https://www.postgresql.org/docs/9.3/libpq-connect.html
        keepalives=1,
        keepalives_idle=5,
        keepalives_interval=2,
        keepalives_count=2)

Vedo che psycopg2 si blocca costantemente su query di lunga durata, ma ora il problema sembra essere completamente risolto.

Nota che potrebbe trattarsi di una nuova funzionalità, poiché questa domanda è vecchia.