から移入した後、私はPostgresのDBはCIテストサーバーで.sqlファイルを播種されたプロジェクトを持っています。これはビルドされ、ドッカー画像として公開されます。テストPostgresのDBのための右の権限は、プログラム、.sqlファイル
今、私は、サーバーにこれらの.SQLファイルをプッシュするだけではありません。 このファイルで紹介されているすべてのデータベースに対して、すべてのpostgresユーザー(および今後のユーザー)のアクセス許可をチェックする必要があります。
例: ユーザーAおよびB ユーザーAはすべてのデータベースを所有しています。 ユーザBは、データベースX. で読むことができるように読むべきであるので、
にこのprogrammaticalyをテストする方法はありますか? 「BからY->エラーを読み込もうとする以外?
私がこれまでに見つけた他のすべてのソリューションは、手動のどちらかであるかのもの「/エラーしてみてください」を。
[アクセス権限照会関数](https://www.postgresql.org/docs/current/static/functions-info.html#FUNCTIONS-:0(
initdb
によって作成されたものとは別として)すべてのデータベースを所有していますINFO-ACCESS-TABLE) –ありがとうございます。 しかし: SELECT has_schema_privilege関数( 'B'、 'X'、 '選択')。結果内: ERROR:認識されていない特権の種類:「選択」 は「P」のスキーマ内のすべてのテーブルでの選択のための「has_table_privilege関数」を依頼する方法はありますか? 他のすべてを除外する簡単な方法はありますか? – MrOerni