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

Die Kennwortauthentifizierung schlägt mit einem komplexen Kennwort fehl

Der Backslash im Passwort wird in diesem Fall als Escape-Zeichen interpretiert. Python würde den Backslash in \w behandeln als wörtlich \ auch wenn es nicht als Rohstring angegeben ist, weil \w ist keine gültige Escape-Sequenz, aber die zugrunde liegende Bibliothek ist auch parst Escape-Sequenzen , daher muss der Backslash maskiert (verdoppelt) werden.

Um dies zu vermeiden, geben Sie die Verbindungsparameter als Schlüsselwortargumente an stattdessen:

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

Dadurch werden Probleme mit Sonderzeichen in Passwörtern vermieden. Auch ein einzelnes Anführungszeichen im Passwort würde die Verbindungszeichenfolge beschädigen.