PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

psycopg2.OperationalError:FATAL:protocolo front-end não suportado 1234.5679:servidor suporta 2.0 a 3.0


1234.5679 é o código especial enviado pelo cliente para solicitar conexões de banco de dados criptografadas por SSL, e o suporte para isso está no PostgreSQL desde o commit e0e7daef6da em 1999. Mas seu PostgreSQL não pode ser tão antigo, porque o suporte para o protocolo versão 3.0 não foi adicionado antes de 2003.

Na verdade, ao estudar src/backend/postmaster/postmaster.c e lendo a lista de discussão, este é um bug no servidor PostgreSQL:

O cliente deve ser configurado para tentar a autenticação GSS e, quando o servidor rejeitar, ele deseja negociar uma conexão SSL, mas o servidor não espera isso neste momento; daí o erro.

Veja a discussão aqui. O bug foi corrigido com a versão 12.3.

Como solução alternativa, desative a autenticação GSS ou a negociação SSL no cliente.

No psycopg2, desabilitar o SSL é feito usando sslmode="disable" na string de conexão, e desabilitar o GSS é feito com gssencmode="disable" . Veja a documentação para detalhes.