基本的に、ビューの動作をさかのぼって変更することができなかったためです。 SECURITY INVOKER
をサポートできるようにしたいと思います (または同等の)ビューの場合ですが、私が知る限り、そのような機能は現在存在しません。
通常、行のセキュリティを使用して、ビュー自体へのアクセスをフィルタリングできます。
ビューによってアクセスされるテーブルにも、行のセキュリティルールが適用されます。ただし、current_user
は表示されます ビュークリエーターとして ビューは、ビューを作成/所有したユーザーの権限でテーブル(およびその他のビュー)にアクセスするためです。
必要な機能の開発に介入して支援したい場合は、pgsql-hackersでこれを上げる価値があるかもしれません。そうでない場合は、pgsql-generalですか?
とはいえ、アクセステーブルを作成ユーザーとして表示し、current_user
を変更します。 したがって、カスタムGUCであるsession_user
の使用を妨げることはありません。 、または行セキュリティポリシーの他のコンテキスト情報。 current_user
に基づいてフィルタリングするのではなく、ビューで行セキュリティを使用できます。 。