Doc: explain how to test ADMIN privilege with pg_has_role().

This has always been possible, but the syntax is a bit obscure,
and our user-facing docs were not very helpful.  Spell it out
more clearly.

Per complaint from Dominique Devienne.  Back-patch to
all supported branches.

Discussion: https://postgr.es/m/CAFCRh-8JNEy+dV4SXFOrWca50u+d=--TO4cq=+ac1oBtfJy4AA@mail.gmail.com
This commit is contained in:
Tom Lane 2024-09-20 15:56:34 -04:00
parent 785c53d91d
commit 23d4439732

View File

@ -23030,6 +23030,10 @@ SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute');
the role (that is, the right to do <command>SET ROLE</command>), while
<literal>USAGE</literal> denotes whether the privileges of the role
are immediately available without doing <command>SET ROLE</command>.
<literal>WITH ADMIN OPTION</literal> or <literal>WITH GRANT
OPTION</literal> can be added to either of these privilege types to
test whether the <literal>ADMIN</literal> privilege is held (all
four spellings test the same thing).
This function does not allow the special case of
setting <parameter>user</parameter> to <literal>public</literal>,
because the PUBLIC pseudo-role can never be a member of real roles.