Doc: explain how to test ADMIN privilege with pg_has_role().
authorTom Lane <[email protected]>
Fri, 20 Sep 2024 19:56:34 +0000 (15:56 -0400)
committerTom Lane <[email protected]>
Fri, 20 Sep 2024 19:56:34 +0000 (15:56 -0400)
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

doc/src/sgml/func.sgml

index 6f75bd0c7d25638490421930bac17cfe6c385679..e39d524b6bd1e65b20fdb153f0a38032ed46f63a 100644 (file)
@@ -25289,6 +25289,10 @@ SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute');
         are immediately available without doing <command>SET ROLE</command>,
         while <literal>SET</literal> denotes whether it is possible to change
         to the role using the <literal>SET ROLE</literal> command.
+        <literal>WITH ADMIN OPTION</literal> or <literal>WITH GRANT
+        OPTION</literal> can be added to any of these privilege types to
+        test whether the <literal>ADMIN</literal> privilege is held (all
+        six 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.