PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

psycopg2.OperationalError:ФАТАЛНО:неподдържан интерфейсен протокол 1234.5679:сървърът поддържа от 2.0 до 3.0

1234.5679 е специалният код, изпратен от клиента, за да поиска SSL-криптирани връзки към базата данни и поддръжката за това е в PostgreSQL от commit e0e7daef6da през 1999 г. Но вашият PostgreSQL не може да бъде толкова стар, тъй като поддръжката за протокол версия 3.0 не е добавена преди 2003 г.

Всъщност от изучаване на src/backend/postmaster/postmaster.c и четейки пощенския списък, това е грешка в сървъра на PostgreSQL:

Клиентът трябва да бъде конфигуриран да опита GSS удостоверяване и когато сървърът отхвърли, той иска да договори SSL връзки, но сървърът не очаква това в този момент; оттук и грешката.

Вижте дискусията тук. Грешката е отстранена с версия 12.3.

Като заобиколно решение деактивирайте GSS удостоверяването или SSL договарянето на клиента.

В psycopg2 деактивирането на SSL се извършва с помощта на sslmode="disable" в низа за връзка и деактивирането на GSS се извършва с gssencmode="disable" . Вижте документацията за подробности.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Оптимизирайте обхвата на заявки за времеви печати на Postgres

  2. Rails и PostgreSQL:Ролята postgres не съществува

  3. Съвети за най-добри практики за PostgreSQL VACUUM and ANALYZE

  4. Има ли начин да се дефинира именувана константа в заявка на PostgreSQL?

  5. Търсете в множество таблици и също така показвайте името на таблицата в получените редове