テーブル名Users
およびCompanies
どちらも大文字で始まります。エラーメッセージからわかるように、PostgreSQLはすべての識別子を(デフォルトで)小文字に変換します:
psycopg2.ProgrammingError: relation "users" does not exist
Users
の場所 すべて小文字で書かれています。これは、SQL標準に厳密に従う場合に必要です(PostgreSQLは有名です)。これは2つの方法で解決できます:
データベースで解決します:
一般的な規則に従い、テーブルの名前を変更します すべて小文字にします。
あなたのコードでそれを解いてください:
識別子(この場合はテーブル名)を引用して、PostgreSQLが識別子を変更しないようにします:
cur.execute(""" SELECT * from "Users" """)