sql >> Base de Datos >  >> RDS >> PostgreSQL

La autenticación de contraseña falla con una contraseña compleja

La barra invertida en la contraseña en este caso se interpreta como un carácter de escape. Python trataría la barra invertida en \w como literal \ incluso si no se especifica como una cadena sin formato porque \w no es una secuencia de escape válida, pero la biblioteca subyacente también analiza secuencias de escape , por lo tanto, la barra invertida debe escaparse (duplicarse).

Para evitar esto, especifique los parámetros de conexión como argumentos de palabras clave en cambio:

psycopg2.connect(host=HOST,
                 database=DATABASE_NAME,
                 port=DATABASE_PORT,
                 user=DATABASE_USER,
                 password=DATABASE_PASSWORD)

Esto evita problemas con los caracteres especiales en las contraseñas. Además, un carácter de comillas simples en la contraseña rompería la cadena de conexión.