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

psycopg2 kann nach der Verbindung keine Tabellen finden

Ihre Tabelle nennt Users und Companies beide beginnen mit einem Großbuchstaben. PostgreSQL konvertiert (standardmäßig) alle Bezeichner in Kleinbuchstaben, wie Sie der Fehlermeldung entnehmen können:

psycopg2.ProgrammingError: relation "users" does not exist

Wobei Users wird komplett klein geschrieben. Dies ist erforderlich, wenn Sie sich strikt an den SQL-Standard halten möchten (wofür PostgreSQL bekannt ist). Sie können dies auf zwei Arten lösen:

Lösen Sie es in Ihrer Datenbank:

Halten Sie sich an eine gemeinsame Konvention und benennen Sie Ihre Tabellen um in Kleinbuchstaben geschrieben werden.

Lösen Sie es in Ihrem Code:

Geben Sie Ihre Bezeichner (in diesem Fall Ihren Tabellennamen) in Anführungszeichen an, damit PostgreSQL sie unberührt lässt:

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