Seus nomes de tabela
Users
e Companies
ambos começam com uma letra maiúscula. O PostgreSQL converterá todos os identificadores para letras minúsculas (por padrão), como você pode ver na mensagem de erro:psycopg2.ProgrammingError: relation "users" does not exist
Onde
users
é escrito em letras minúsculas. Isso é necessário se você deseja seguir estritamente o padrão SQL (como o PostgreSQL é conhecido). Você pode resolver isso de duas maneiras:Resolva no seu banco de dados:
Adira a uma convenção comum e renomeie suas tabelas ser tudo minúsculo.
Resolva no seu código:
Cite seus identificadores (o nome da sua tabela neste caso) para que o PostgreSQL os deixe intocados:
cur.execute(""" SELECT * from "Users" """)