sql >> Database >  >> RDS >> PostgreSQL

Postgres SSL SYSCALL-fout:EOF gedetecteerd met python en psycopg

De fout:psycopg2.operationalerror: SSL SYSCALL error: EOF detected

De opstelling:Luchtstroom + Roodverschuiving + psycopg2

Wanneer:zoekopdrachten duren lang tijd om uit te voeren (meer dan 300 seconden).

In dit geval treedt er een socket-time-out op. Wat deze specifieke variant van de fout oplost, is het toevoegen van keepalive-argumenten aan de verbindingsreeks.

keepalive_kwargs = {
    "keepalives": 1,
    "keepalives_idle": 30,
    "keepalives_interval": 5,
    "keepalives_count": 5,
}

conection = psycopg2.connect(connection_string, **keepalive_kwargs)

Roodverschuiving vereist een keepalives_idle van minder dan 300. Een waarde van 30 werkte voor mij, uw kilometerstand kan variëren. Het is ook mogelijk dat de keepalives_idle argument is het enige dat u hoeft in te stellen - maar zorg ervoor dat keepalives is ingesteld op 1.

Link naar documenten op postgres keepalives.

Link naar luchtstroomdocument met advies over 300 time-out.



  1. Hoe de R12.2-omgeving te klonen

  2. Hoe Apache Cassandra te installeren op Ubuntu 20.10/Ubuntu 20.04

  3. Hoe het KNN Machine Learning-model te gebruiken met 2UDA - PostgreSQL en Orange (deel 1)

  4. XMLType-knooppunten samenvoegen in Oracle-query