Jaki jest zalecany sposób ustalenia, czy użytkownik otrzymał określone prawo (np. Wybierz lub wykonaj) pewna klasa (np. tabela lub funkcja) w PostgreSQL?Sprawdź, czy użytkownik ma uprawnienia do wybierania/aktualizowania/... tabeli/funkcji/... w PostgreSQL
W tej chwili mam coś jak
aclcontains(
someColumnWithAclitemArray,
makeaclitem(userOid,grantorOid,someRight,false))
ale to jest straszne, ponieważ mam do sprawdzenia każdego grantorOid
że jest to możliwe i za każdym userOid
użytkownik może należeć do.
W powiązanej notatce: jakie są możliwe prawa, które można przetestować? nie znalazłem żadnej dokumentacji, ale odczytanie kodu źródłowego ja zgadnę:
INSERT
SELECT
UPDATE
DELETE
TRUNCATE
REFERENCES
TRIGGER
EXECUTE
USAGE
CREATE
CONNECT
Istnieje również wydaje się być CREATE TEMP
rację, ale nie mogę dowiedzieć się prawidłowy tekst do wykorzystania w makeaclitem
-function.