Twoje nazwy tabel Users
i Companies
oba zaczynają się od dużej litery. PostgreSQL skonwertuje wszystkie identyfikatory na małe litery (domyślnie), jak widać w komunikacie o błędzie:
psycopg2.ProgrammingError: relation "users" does not exist
Gdzie users
jest pisany małymi literami. Jest to potrzebne, jeśli chcesz ściśle przestrzegać standardu SQL (z czego znany jest PostgreSQL). Możesz rozwiązać ten problem na dwa sposoby:
Rozwiąż to w swojej bazie danych:
Przestrzegaj wspólnej konwencji i zmień nazwy swoich tabeli być małymi literami.
Rozwiąż to w swoim kodzie:
Zacytuj swoje identyfikatory (w tym przypadku nazwę tabeli), aby PostgreSQL pozostawił je bez zmian:
cur.execute(""" SELECT * from "Users" """)