From: Tom Lane <tgl@sss.pgh.pa.us> Date: Sat, 6 May 2017 18:19:47 +0000 (-0400) Subject: Document current_role. X-Git-Tag: REL9_2_21~10 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=fea56cd4d0f8d2e848fe291aca382d9e1c9eca39;p=postgresql.git Document current_role. This system function has been there a very long time, but somehow escaped being listed in func.sgml. Fabien Coelho and Tom Lane Discussion: https://postgr.es/m/alpine.DEB.2.20.1705061027580.3896@lancre --- diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index f3efb020784..b828cdf5c6b 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -12886,6 +12886,12 @@ postgres=# SELECT * FROM unnest2(ARRAY[[1,2],[3,4]]); by the client (might contain more than one statement)</entry> </row> + <row> + <entry><literal><function>current_role</function></literal></entry> + <entry><type>name</type></entry> + <entry>equivalent to <function>current_user</function></entry> + </row> + <row> <entry><literal><function>current_schema</function>[()]</literal></entry> <entry><type>name</type></entry> @@ -12997,8 +13003,11 @@ postgres=# SELECT * FROM unnest2(ARRAY[[1,2],[3,4]]); <note> <para> - <function>current_catalog</function>, <function>current_schema</function>, - <function>current_user</function>, <function>session_user</function>, + <function>current_catalog</function>, + <function>current_role</function>, + <function>current_schema</function>, + <function>current_user</function>, + <function>session_user</function>, and <function>user</function> have special syntactic status in <acronym>SQL</acronym>: they must be called without trailing parentheses. (In PostgreSQL, parentheses can optionally be used with @@ -13018,6 +13027,10 @@ postgres=# SELECT * FROM unnest2(ARRAY[[1,2],[3,4]]); <primary>current_query</primary> </indexterm> + <indexterm> + <primary>current_role</primary> + </indexterm> + <indexterm> <primary>current_schema</primary> </indexterm> @@ -13069,6 +13082,11 @@ postgres=# SELECT * FROM unnest2(ARRAY[[1,2],[3,4]]); functions with the attribute <literal>SECURITY DEFINER</literal>. In Unix parlance, the session user is the <quote>real user</quote> and the current user is the <quote>effective user</quote>. + <function>current_role</function> and <function>user</function> are + synonyms for <function>current_user</function>. (The SQL standard draws + a distinction between <function>current_role</function> + and <function>current_user</function>, but <productname>PostgreSQL</> + does not, since it unifies users and roles into a single kind of entity.) </para> <para>