W tym przypadku ukośnik odwrotny w haśle jest interpretowany jako znak ucieczki. Python potraktuje odwrotny ukośnik w \w
jako dosłowny \
nawet jeśli nie jest określony jako nieprzetworzony ciąg, ponieważ \w
nie jest prawidłową sekwencją ucieczki, ale podstawowa biblioteka również parsuje sekwencje specjalne
, dlatego odwrotny ukośnik musi zostać zmieniony (podwojony).
Aby tego uniknąć, określ parametry połączenia jako argumenty słów kluczowych zamiast tego:
psycopg2.connect(host=HOST,
database=DATABASE_NAME,
port=DATABASE_PORT,
user=DATABASE_USER,
password=DATABASE_PASSWORD)
Pozwala to uniknąć problemów ze znakami specjalnymi w hasłach. Również pojedynczy znak cudzysłowu w haśle złamałby ciąg połączenia.