¿Cuál es la forma recomendada de averiguar si un usuario obtuvo un cierto derecho (por ejemplo, seleccionar o ejecutar) en un cierta clase (por ejemplo, tabla o función) en PostgreSQL?Averiguar si el usuario obtuvo permiso para seleccionar/actualizar/... una tabla/función/... en PostgreSQL
En el momento en que tiene algo así como
aclcontains(
someColumnWithAclitemArray,
makeaclitem(userOid,grantorOid,someRight,false))
pero es horrible ya que tengo que comprobar para cada grantorOid
que es posible y para cada userOid
el usuario puede pertenecer.
En una nota relacionada: ¿cuáles son los posibles derechos que puede probar? no he encontrado ninguna documentación, pero la lectura del código fuente supongo:
INSERT
SELECT
UPDATE
DELETE
TRUNCATE
REFERENCES
TRIGGER
EXECUTE
USAGE
CREATE
CONNECT
También parece ser un derecho CREATE TEMP
, pero no puedo averiguar el texto correcto a utilizar en el makeaclitem
-función.