重複の可能性:
postgresql データベースの所有者がデータベースにアクセスできない - 「関係が見つかりません。」
中心的な問題: Django の Web サイトで、 Djangoによって生成された SQL スクリプトを実行しようとした後に接続すると、リレーション (テーブル) が存在しないという不平を言っています。pg_dump MY_DATABASE_NAME -cOx -E UTF8 > MY_SCRIPT_NAME.sql
スクリプトを実行する前に、私は接続することができ、すべてがうまくいっています。
スクリプトを実行した後、私は痛みの世界に住んでいますが、PostgreSQL ですべてのテーブルの所有者を同時に変更するで説明されているさまざまな方法を使用して、MY_DATABASE_NAME とテーブルの所有権を調べて変更することで軽減しようとしました。
\dt
次のようにサーバーにpostgresユーザーとして最初にログインした後にのみ、MY_DATABASE_NAME経由でのみリレーションを表示できるようですsudo su - postgres
。
postgres ユーザーに切り替えpsql MY_DATABASE_NAME -U MY_NON_POSTGRES_USER
ずに SSH で実行すると、\dt' results in a
関係が見つかりませんというメッセージが表示されます。
最初は、権限または所有権が問題であると推測しました。サーバーの postgres ユーザーとしてログインし、MY_DATABASE_NAME とそのすべてのテーブルの所有者を MY_NON_POSTGRES_USER に変更しました。
前と同じ結果。Postgres ユーザーのリレーションが表示されますが、別のロールとしてログインすると「リレーションが見つかりません」というメッセージが表示され、Web サイトで「リレーション some_table が存在しません」と不平を言われます
なぜこれが私に起こっているのですか?