Vik Fearing <v...@postgresfriends.org> writes:
> I have a few questions about setting acl on SQL level.
> Is it safe to do something like
>     UPDATE pg_class SET relacl = $1 WHERE oid = $2;
> ?

> I don't think it is because ExecGrant_* call updateAclDependencies after
> they do the update and my own update would not do that.  But is it safe
> to do my update if I'm not touching anything in pg_global?

Well, it'll work, but the system won't know about the role references
in this ACL item, so for instance dropping the role wouldn't make the
ACL go away.  Which might cause you dump/reload issues later.

> And finally, would there be any interest in a function like
> aclset("char", oid, aclitem[]) and does this properly?

Not really, when GRANT is already there ...

                        regards, tom lane


Reply via email to