PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

psycopg2 non riesce a trovare tabelle dopo la connessione

I nomi della tua tabella Users e Companies entrambi iniziano con una lettera maiuscola. PostgreSQL convertirà tutti gli identificatori in minuscolo (per impostazione predefinita), come puoi vedere dal messaggio di errore:

psycopg2.ProgrammingError: relation "users" does not exist

Dove users è scritto tutto minuscolo. Questo è necessario se desideri seguire rigorosamente lo standard SQL (come PostgreSQL è famoso per). Puoi risolverlo in due modi:

Risolvilo nel tuo database:

Rispetta una convenzione comune e rinomina le tue tabelle essere tutto minuscolo.

Risolvilo nel tuo codice:

Cita i tuoi identificatori (il nome della tabella in questo caso) in modo che PostgreSQL li lascerà intatti:

cur.execute(""" SELECT * from "Users" """)