sql >> Databáze >  >> RDS >> PostgreSQL

Chyba Postgres SSL SYSCALL:EOF detekován pomocí pythonu a psycopg

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

Nastavení:Proud vzduchu + Červený posuv + psychopg2

Kdy:Dotazy trvají dlouho čas spuštění (více než 300 sekund).

V tomto případě dojde k vypršení časového limitu soketu. Co řeší tuto konkrétní variantu chyby, je přidání argumentů keepalive do připojovacího řetězce.

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

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

Redshift vyžaduje keepalives_idle méně než 300. Hodnota 30 mi fungovala, váš počet najetých kilometrů se může lišit. Je také možné, že keepalives_idle argument je jediný, který musíte nastavit - ale zajistěte keepalives je nastaveno na 1.

Odkaz na dokumenty o udržování postgresu.

Odkaz na dokument o proudění vzduchu, který doporučuje časový limit 300.



  1. Jak přidat logo do záhlaví sestavy v aplikaci Access

  2. SQL Server:Dynamická klauzule where

  3. Jak spravovat MySQL - pro Oracle DBA

  4. #1071 - Zadaný klíč byl příliš dlouhý; maximální délka klíče je 1000 bajtů