sql >> Databasteknik >  >> RDS >> PostgreSQL

psycopg2.OperationalError:FATAL:frontend-protokollet stöds inte 1234.5679:servern stöder 2.0 till 3.0

1234.5679 är den speciella koden som skickas av klienten för att begära SSL-krypterade databasanslutningar, och stöd för det har funnits i PostgreSQL sedan commit e0e7daef6da 1999. Men din PostgreSQL kan inte vara så gammal, eftersom stöd för protokollversion 3.0 inte lades till före 2003.

Egentligen från att studera src/backend/postmaster/postmaster.c och när du läser e-postlistan är detta en bugg på PostgreSQL-servern:

Klienten måste konfigureras för att prova GSS-autentisering, och när servern avvisar, vill den förhandla om en SSL-anslutningar, men servern förväntar sig inte det vid denna tidpunkt; därav felet.

Se diskussionen här. Felet har åtgärdats med version 12.3.

Som en lösning kan du inaktivera antingen GSS-autentisering eller SSL-förhandling på klienten.

I psycopg2 görs inaktivering av SSL genom att använda sslmode="disable" i anslutningssträngen, och inaktivering av GSS görs med gssencmode="disable" . Se dokumentationen för detaljer.



  1. JSON_CONTAINS() Exempel i MySQL

  2. Hur trunkerar man alla tabeller i en databas med TSQL?

  3. Skillnader mellan SQL &NoSQL-databaser - MySQL &MongoDB-jämförelse

  4. iPhone uttryckssymboler infogas i MySQL men blir tomt värde