PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

psycopg2.OperationalError:FATAL:giao thức frontend không được hỗ trợ 1234.5679:máy chủ hỗ trợ từ 2.0 đến 3.0

1234.5679 là mã đặc biệt do máy khách gửi để yêu cầu kết nối cơ sở dữ liệu được mã hóa SSL và hỗ trợ cho điều đó đã có trong PostgreSQL kể từ commit e0e7daef6da vào năm 1999. Nhưng PostgreSQL của bạn không thể cũ như vậy, vì hỗ trợ cho giao thức phiên bản 3.0 không được thêm vào trước năm 2003.

Trên thực tế, từ việc nghiên cứu src/backend/postmaster/postmaster.c và đọc danh sách gửi thư, đây là lỗi trên máy chủ PostgreSQL:

Máy khách phải được định cấu hình để thử xác thực GSS và khi máy chủ từ chối, nó muốn thương lượng kết nối SSL, nhưng máy chủ không mong đợi điều đó tại thời điểm này; do đó lỗi.

Xem thảo luận tại đây. Lỗi đã được sửa với bản phát hành 12.3.

Để giải quyết vấn đề này, hãy tắt xác thực GSS hoặc thương lượng SSL trên máy khách.

Trong psycopg2, việc tắt SSL được thực hiện bằng cách sử dụng sslmode="disable" trong chuỗi kết nối và việc tắt GSS được thực hiện bằng gssencmode="disable" . Xem tài liệu để biết chi tiết.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EDB trở thành người dẫn đầu trong thị trường Postgres như thế nào

  2. Sử dụng CHÈN với Cơ sở dữ liệu PostgreSQL bằng Python

  3. Cách justify_hours () hoạt động trong PostgreSQL

  4. Postgres thời gian với múi giờ bình đẳng

  5. Tắt kiểm tra khóa ngoại PostgreSQL để di chuyển