La barra rovesciata nella password in questo caso viene interpretata come carattere di escape. Python tratterebbe la barra rovesciata in \w
come letterale \
anche se non è specificata come stringa grezza perché \w
non è una sequenza di escape valida, ma anche la libreria sottostante analisi delle sequenze di escape
, quindi la barra rovesciata deve essere evitata (raddoppiata).
Per evitare ciò, specifica i parametri di connessione come argomenti delle parole chiave invece:
psycopg2.connect(host=HOST,
database=DATABASE_NAME,
port=DATABASE_PORT,
user=DATABASE_USER,
password=DATABASE_PASSWORD)
Ciò evita problemi con i caratteri speciali nelle password. Anche una singola virgoletta nella password interromperebbe la stringa di connessione.