PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Kesalahan SYSCALL SSL Postgres:EOF terdeteksi dengan python dan psycopg

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

Penyiapan:Airflow + Pergeseran Merah + psycopg2

Kapan:Kueri membutuhkan waktu lama waktu untuk mengeksekusi (lebih dari 300 detik).

Waktu tunggu soket terjadi dalam contoh ini. Apa yang memecahkan varian spesifik dari kesalahan ini adalah menambahkan argumen keepalive ke string koneksi.

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

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

Pergeseran merah membutuhkan keepalives_idle kurang dari 300. Nilai 30 berhasil untuk saya, jarak tempuh Anda mungkin berbeda. Mungkin juga keepalives_idle argumen adalah satu-satunya yang perlu Anda atur - tetapi pastikan keepalives disetel ke 1.

Tautan ke dokumen di postgres keepalives.

Tautan ke dokumen aliran udara yang memberi saran tentang batas waktu 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. Bahasa prosedural PostgreSQL C tidak ditemukan

  2. Menggunakan Barman untuk Pemulihan Bencana PostgreSQL

  3. Hapus beberapa array secara paralel

  4. Postgres UNTUK LOOP

  5. Bagaimana cara saya bekerja dengan desimal presisi tinggi di PHP