Quelle est la méthode recommandée pour déterminer si un utilisateur a un certain droit (par exemple, sélectionner ou exécuter) sur un certaine classe (par exemple table ou fonction) dans PostgreSQL?Détermine si l'utilisateur a l'autorisation de sélectionner/mettre à jour/... une table/fonction/... dans PostgreSQL
Au moment où je suis quelque chose comme
aclcontains(
someColumnWithAclitemArray,
makeaclitem(userOid,grantorOid,someRight,false))
mais il est terrible que je dois vérifier pour chaque grantorOid
qui est possible et pour chaque userOid
l'utilisateur peut appartenir. Sur une note connexe: quels sont les droits possibles que vous pouvez tester? Je ne l'ai pas trouvé de documents, mais la lecture du code source, je suppose:
INSERT
SELECT
UPDATE
DELETE
TRUNCATE
REFERENCES
TRIGGER
EXECUTE
USAGE
CREATE
CONNECT
Il semble aussi être un droit CREATE TEMP
, mais je ne peux pas comprendre le texte correct à utiliser dans le makeaclitem
-fonction.