sql >> Database >  >> RDS >> PostgreSQL

psycopg2.OperationalError:FATAL:niet-ondersteund frontend-protocol 1234.5679:server ondersteunt 2.0 tot 3.0

1234.5679 is de speciale code die door de client wordt verzonden om SSL-gecodeerde databaseverbindingen aan te vragen, en ondersteuning daarvoor is in PostgreSQL sinds commit e0e7daef6da in 1999. Maar uw PostgreSQL kan niet zo oud zijn, omdat ondersteuning voor protocolversie 3.0 niet vóór 2003 is toegevoegd.

Eigenlijk door het bestuderen van src/backend/postmaster/postmaster.c en het lezen van de mailinglijst, dit is een bug op de PostgreSQL-server:

De client moet worden geconfigureerd om GSS-authenticatie te proberen, en wanneer de server weigert, wil hij onderhandelen over een SSL-verbinding, maar de server verwacht dat op dit moment niet; vandaar de fout.

Zie hier de discussie. De bug is opgelost met release 12.3.

Als tijdelijke oplossing schakelt u GSS-authenticatie of SSL-onderhandeling op de client uit.

In psycopg2 wordt het uitschakelen van SSL gedaan met behulp van sslmode="disable" in de verbindingsreeks, en het uitschakelen van GSS doe je met gssencmode="disable" . Zie de documentatie voor details.



  1. Op diepte gebaseerde boom genereren uit hiërarchische gegevens in MySQL (geen CTE's)

  2. Postgres - hoe rijen met 0-tellingen te retourneren voor ontbrekende gegevens?

  3. Kunnen er meerdere primaire sleutels op een enkele tafel bestaan?

  4. Krijg het aantal dagen in een maand in PostgreSQL