web-dev-qa-db-ja.com

information_schema.schemataから行を返すために必要な権限は何ですか?

Postgres(私は9.3.4にいます)では、行を返すために必要な権限は何ですか

select * from information_schema.schemata

9.3ドキュメント は、「現在有効なロールによって所有されている」と述べています。つまり、schemataを呼び出すユーザーは、さまざまなスキーマを所有している(または所有するロールの一部である)必要がありますか?

後の 9.5ドキュメント には、「現在のユーザーが(所有者であるか、何らかの特権を持つことによって)アクセスできる」というスキーマが記載されています。

現在クエリを実行しようとしており、0行を取得しているアカウントはgrant usage on schemaを適用しました。

データベースアカウントがinformation_schema.schemata`ビューでスキーマを表示できるようにするための権限は何ですか?

7
Steph Locke

information_schema.schemataから行を取得するには、ユーザーがスキーマの所有者である必要があります

alter schema $schemaName owner to $user;

または、ユーザーはスキーマを所有するグループのメンバーである必要があります

使用許可は十分ではありません。ユーザーはスーパーユーザーである必要はありません。ユーザーはスキーマ内のテーブルを所有できますが、それでも十分ではありません。

1
Neil McGuigan