PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

psycopg2.OperationalError:FATAL:nicht unterstütztes Frontend-Protokoll 1234.5679:Server unterstützt 2.0 bis 3.0

1234.5679 ist der spezielle Code, der vom Client gesendet wird, um SSL-verschlüsselte Datenbankverbindungen anzufordern, und Unterstützung dafür gibt es in PostgreSQL seit dem Commit e0e7daef6da im Jahr 1999. Aber Ihr PostgreSQL kann nicht so alt sein, weil die Unterstützung für die Protokollversion 3.0 nicht vor 2003 hinzugefügt wurde.

Eigentlich durch das Studium von src/backend/postmaster/postmaster.c und beim Lesen der Mailingliste ist dies ein Fehler auf dem PostgreSQL-Server:

Der Client muss so konfiguriert werden, dass er die GSS-Authentifizierung versucht, und wenn der Server dies ablehnt, möchte er eine SSL-Verbindung aushandeln, aber der Server erwartet dies zu diesem Zeitpunkt nicht; daher der Fehler.

Siehe die Diskussion hier. Der Fehler wurde mit Version 12.3 behoben.

Deaktivieren Sie als Problemumgehung entweder die GSS-Authentifizierung oder die SSL-Aushandlung auf dem Client.

In psycopg2 wird SSL durch Verwendung von sslmode="disable" deaktiviert in der Verbindungszeichenfolge, und das Deaktivieren von GSS erfolgt mit gssencmode="disable" . Einzelheiten finden Sie in der Dokumentation.