PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Błąd Postgres SSL SYSCALL:wykryto EOF za pomocą Pythona i psycopg

Błąd:psycopg2.operationalerror: SSL SYSCALL error: EOF detected

Konfiguracja:Przepływ powietrza + Przesunięcie ku czerwieni + psycopg2

Kiedy:zapytania trwają długo czas na wykonanie (ponad 300 sekund).

W tym przypadku występuje przekroczenie limitu czasu gniazda. Tym, co rozwiązuje ten konkretny wariant błędu, jest dodanie argumentów podtrzymania aktywności do ciągu połączenia.

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

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

Redshift wymaga keepalives_idle mniej niż 300. Dla mnie pracowała wartość 30, Twój przebieg może się różnić. Możliwe jest również, że keepalives_idle argument jest jedynym, który musisz ustawić - ale upewnij się, że keepalives jest ustawiony na 1.

Link do dokumentów na temat aktywności postgres.

Link do dokumentu przepływu powietrza z informacją o przekroczeniu limitu czasu 300.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. instalacja postgres inicjalizacja klastra bazy danych nie powiodła się ( Postgresql wersja 9.4.4 )

  2. Całkowite ignorowanie stref czasowych w Rails i PostgreSQL

  3. Jak ustawić interwałowy format wyjściowy w PostgreSQL?

  4. Limit czasu zapytania w pg-promise

  5. tabela przestawna z 2 (lub więcej) nazwami wierszy