El error:psycopg2.operationalerror: SSL SYSCALL error: EOF detected
La configuración:Flujo de aire + Desplazamiento al rojo + psycopg2
Cuándo:las consultas tardan mucho tiempo de ejecución (más de 300 segundos).
En esta instancia, se produce un tiempo de espera de socket. Lo que resuelve esta variante específica del error es agregar argumentos keepalive a la cadena de conexión.
keepalive_kwargs = {
"keepalives": 1,
"keepalives_idle": 30,
"keepalives_interval": 5,
"keepalives_count": 5,
}
conection = psycopg2.connect(connection_string, **keepalive_kwargs)
Redshift requiere un keepalives_idle
de menos de 300. A mi me funciono un valor de 30, tu kilometraje puede variar. También es posible que el keepalives_idle
el argumento es el único que necesita configurar, pero asegúrese de keepalives
se establece en 1.
Enlace a documentos en postgres keepalives.
Enlace al documento de flujo de aire que aconseja sobre el tiempo de espera 300.