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" """)