ユーザーが PostgreSQL の特定のクラス (テーブルや関数など) に対して特定の権限 (選択や実行など) を取得したかどうかを確認するための推奨される方法は何ですか?
現時点で私は次のようなものを手に入れました
aclcontains(
someColumnWithAclitemArray,
makeaclitem(userOid,grantorOid,someRight,false))
grantorOid
しかし、可能性のあるすべてuserOid
のものと、ユーザーが所属できるすべてのものをチェックする必要があるため、これはひどいものです。
関連するメモ: テストできる可能性のある権利は何ですか? ドキュメントは見つかりませんでしたが、ソースコードを読んでいると思います:
INSERT
SELECT
UPDATE
DELETE
TRUNCATE
REFERENCES
TRIGGER
EXECUTE
USAGE
CREATE
CONNECT
権利もあるようですが、関数CREATE TEMP
で使用する正しいテキストがわかりませんmakeaclitem
。