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

Postgres SSL SYSCALL fejl:EOF opdaget med python og psycopg

Fejlen:psycopg2.operationalerror: SSL SYSCALL error: EOF detected

Opsætningen:Luftstrøm + Rødskift + psychopg2

Hvornår:Forespørgsler tager lang tid tid til at udføre (mere end 300 sekunder).

En socket timeout opstår i dette tilfælde. Det, der løser denne specifikke variant af fejlen, er at tilføje keepalive-argumenter til forbindelsesstrengen.

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

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

Rødforskydning kræver en keepalives_idle på mindre end 300. En værdi på 30 virkede for mig, dit kilometertal kan variere. Det er også muligt, at keepalives_idle argument er det eneste du skal indstille - men sørg for keepalives er indstillet til 1.

Link til dokumenter på postgres keepalives.

Link til luftstrømsdokument, der rådgiver om 300 timeout.



  1. Tilslutning af en 64-bit applikation til Acomba

  2. Sådan udføres en procedure med proceduren DBMS_SCHEDULER.CREATE_JOB

  3. Hvad gør anførselstegn omkring tabelnavnet helt præcist?

  4. hvordan man sletter dublerede rækker fra en tabel i mysql