Каков рекомендуемый способ выяснить, получил ли пользователь определенное право (например, выбрать или выполнить) на определенный класс (например, таблица или функция) в PostgreSQL?Узнайте, есть ли у пользователя разрешение на выбор/обновление/... таблица/функция/... в PostgreSQL
На данный момент я получил что-то вроде
aclcontains(
someColumnWithAclitemArray,
makeaclitem(userOid,grantorOid,someRight,false))
, но это ужасно, так как я должен проверить для каждого grantorOid
, что возможно, и для каждого userOid
пользователь может принадлежать.
Относительно примечания: какие возможные права вы можете проверить? я не нашел никаких документов, кроме чтения исходного кода я думаю:
INSERT
SELECT
UPDATE
DELETE
TRUNCATE
REFERENCES
TRIGGER
EXECUTE
USAGE
CREATE
CONNECT
Там также, кажется, быть CREATE TEMP
право, но я не могу понять, правильный текст для использования в makeaclitem
-функции.