Commit 8fbef109 authored by Bruce Momjian's avatar Bruce Momjian

Better document that SET ROLE does not uset ALTER ROLE SET settings;

suggested wording from Josh Berkus.
parent 3ab95c2a
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_role.sgml,v 1.11 2008/11/14 10:22:45 petere Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/alter_role.sgml,v 1.12 2009/03/28 03:26:02 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -79,19 +79,18 @@ ALTER ROLE <replaceable class="PARAMETER">name</replaceable> RESET ALL ...@@ -79,19 +79,18 @@ ALTER ROLE <replaceable class="PARAMETER">name</replaceable> RESET ALL
password is <literal>MD5</>-encrypted. password is <literal>MD5</>-encrypted.
</para> </para>
<para> <para>
The remaining variants change a role's session default for The remaining variants change a role's session default for a
a specified configuration variable. Whenever the role subsequently specified configuration variable. Whenever the role subsequently
starts a new session, the specified value becomes the session default, starts a new session, the specified value becomes the session
overriding whatever setting is present in <filename>postgresql.conf</> default, overriding whatever setting is present in
or has been received from the <command>postgres</command> command line. <filename>postgresql.conf</> or has been received from the postgres
(For a role without <literal>LOGIN</> privilege, session defaults have command line. This only happens at login time, so configuration
no effect.) settings associated with a role to which you've <xref
Ordinary roles can change their own session defaults. linkend="sql-set-role" endterm="sql-set-role-title"> will be ignored.
Superusers can change anyone's session defaults. Superusers can change anyone's session defaults. Roles having
Roles having <literal>CREATEROLE</> privilege can change defaults for <literal>CREATEROLE</> privilege can change defaults for non-superuser
non-superuser roles. roles. Certain variables cannot be set this way, or can only be
Certain variables cannot be set this way, or can only be
set if a superuser issues the command. set if a superuser issues the command.
</para> </para>
</refsect1> </refsect1>
...@@ -162,6 +161,12 @@ ALTER ROLE <replaceable class="PARAMETER">name</replaceable> RESET ALL ...@@ -162,6 +161,12 @@ ALTER ROLE <replaceable class="PARAMETER">name</replaceable> RESET ALL
the parameter as the role-specific value. the parameter as the role-specific value.
</para> </para>
<para>
Role-specific variable setting take effect only at login;
<xref linkend="sql-set-role" endterm="sql-set-role-title">
does not process role-specific variable settings.
</para>
<para> <para>
See <xref linkend="sql-set" endterm="sql-set-title"> and <xref See <xref linkend="sql-set" endterm="sql-set-title"> and <xref
linkend="runtime-config"> for more information about allowed linkend="runtime-config"> for more information about allowed
......
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/set_role.sgml,v 1.6 2008/11/14 10:22:47 petere Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/set_role.sgml,v 1.7 2009/03/28 03:26:02 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -91,6 +91,13 @@ RESET ROLE ...@@ -91,6 +91,13 @@ RESET ROLE
allowed to a later <command>SET ROLE</>. allowed to a later <command>SET ROLE</>.
</para> </para>
<para>
<command>SET ROLE</> does not process session variables as specified by
the role's <xref linkend="sql-alterrole"
endterm="sql-alterrole-title"> settings; this only happens during
login.
</para>
<para> <para>
<command>SET ROLE</> cannot be used within a <command>SET ROLE</> cannot be used within a
<literal>SECURITY DEFINER</> function. <literal>SECURITY DEFINER</> function.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment