diff options
author | Joe Conway <mail@joeconway.com> | 2021-04-02 13:48:42 -0400 |
---|---|---|
committer | Joe Conway <mail@joeconway.com> | 2021-04-02 13:48:42 -0400 |
commit | 174edbe9f9c1538ab3347474e96d176223591cd1 (patch) | |
tree | f7fe1131cbcd808912534c339bc9e235c9881e31 | |
parent | 2eb1fc8b1ae8b974007e85636fc7336a9b5d7222 (diff) | |
download | postgresql-174edbe9f9c1538ab3347474e96d176223591cd1.tar.gz postgresql-174edbe9f9c1538ab3347474e96d176223591cd1.zip |
Clarify documentation of RESET ROLE
Command-line options, or previous "ALTER (ROLE|DATABASE) ...
SET ROLE ..." commands, can change the value of the default role
for a session. In the presence of one of these, RESET ROLE will
change the current user identifier to the default role rather
than the session user identifier. Fix the documentation to
reflect this reality. Backpatch to all supported versions.
Author: Nathan Bossart
Reviewed-By: Laurenz Albe, David G. Johnston, Joe Conway
Reported by: Nathan Bossart
Discussion: https://postgr.es/m/flat/925134DB-8212-4F60-8AB1-B1231D750CB4%40amazon.com
Backpatch-through: 9.6
-rw-r--r-- | doc/src/sgml/ref/set_role.sgml | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/doc/src/sgml/ref/set_role.sgml b/doc/src/sgml/ref/set_role.sgml index 739f2c5cdfa..f02babf3af3 100644 --- a/doc/src/sgml/ref/set_role.sgml +++ b/doc/src/sgml/ref/set_role.sgml @@ -53,9 +53,16 @@ RESET ROLE </para> <para> - The <literal>NONE</literal> and <literal>RESET</literal> forms reset the current - user identifier to be the current session user identifier. - These forms can be executed by any user. + <literal>SET ROLE NONE</literal> sets the current user identifier to the + current session user identifier, as returned by + <function>session_user</function>. <literal>RESET ROLE</literal> sets the + current user identifier to the connection-time setting specified by the + <link linkend="libpq-connect-options">command-line options</link>, + <link linkend="sql-alterrole"><command>ALTER ROLE</command></link>, or + <link linkend="sql-alterdatabase"><command>ALTER DATABASE</command></link>, + if any such settings exist. Otherwise, <literal>RESET ROLE</literal> sets + the current user identifier to the current session user identifier. These + forms can be executed by any user. </para> </refsect1> |