diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2013-02-17 23:45:36 -0500 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2013-02-17 23:45:36 -0500 |
commit | 9475db3a4eb5876b364254886d2730db01e042fd (patch) | |
tree | 63b7678c3c36831361ef202245b65a412b20c08f /doc/src | |
parent | 17f15239325a88581bb4f9cf91d38005f1f52d69 (diff) | |
download | postgresql-9475db3a4eb5876b364254886d2730db01e042fd.tar.gz postgresql-9475db3a4eb5876b364254886d2730db01e042fd.zip |
Add ALTER ROLE ALL SET command
This generalizes the existing ALTER ROLE ... SET and ALTER DATABASE
... SET functionality to allow creating settings that apply to all users
in all databases.
reviewed by Pavel Stehule
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/ref/alter_role.sgml | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/doc/src/sgml/ref/alter_role.sgml b/doc/src/sgml/ref/alter_role.sgml index 2fbba53d25f..b0981fdd5d5 100644 --- a/doc/src/sgml/ref/alter_role.sgml +++ b/doc/src/sgml/ref/alter_role.sgml @@ -39,9 +39,9 @@ ALTER ROLE <replaceable class="PARAMETER">name</replaceable> [ [ WITH ] <replace ALTER ROLE <replaceable class="PARAMETER">name</replaceable> RENAME TO <replaceable>new_name</replaceable> ALTER ROLE <replaceable class="PARAMETER">name</replaceable> [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> { TO | = } { <replaceable>value</replaceable> | DEFAULT } -ALTER ROLE <replaceable class="PARAMETER">name</replaceable> [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> FROM CURRENT -ALTER ROLE <replaceable class="PARAMETER">name</replaceable> [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET <replaceable>configuration_parameter</replaceable> -ALTER ROLE <replaceable class="PARAMETER">name</replaceable> [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET ALL +ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> FROM CURRENT +ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET <replaceable>configuration_parameter</replaceable> +ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET ALL </synopsis> </refsynopsisdiv> @@ -83,8 +83,15 @@ ALTER ROLE <replaceable class="PARAMETER">name</replaceable> [ IN DATABASE <repl <para> The remaining variants change a role's session default for a configuration variable, either for all databases or, when the <literal>IN - DATABASE</literal> clause is specified, only for sessions in - the named database. Whenever the role subsequently + DATABASE</literal> clause is specified, only for sessions in the named + database. If <literal>ALL</literal> is specified instead of a role name, + this changes the setting for all roles. Using <literal>ALL</literal> + with <literal>IN DATABASE</literal> is effectively the same as using the + command <literal>ALTER DATABASE ... SET ...</literal>. + </para> + + <para> + Whenever the role subsequently starts a new session, the specified value becomes the session default, overriding whatever setting is present in <filename>postgresql.conf</> or has been received from the <command>postgres</command> @@ -93,12 +100,17 @@ ALTER ROLE <replaceable class="PARAMETER">name</replaceable> [ IN DATABASE <repl <xref linkend="sql-set-session-authorization"> does not cause new configuration values to be set. Settings set for all databases are overridden by database-specific settings - attached to a role. + attached to a role. Settings for specific databases or specific roles override + settings for all roles. + </para> + + <para> Superusers can change anyone's session defaults. Roles having <literal>CREATEROLE</> privilege can change defaults for non-superuser roles. Ordinary roles can only set defaults for themselves. Certain configuration variables cannot be set this way, or can only be - set if a superuser issues the command. + set if a superuser issues the command. Only superusers can change a setting + for all roles in all databases. </para> </refsect1> @@ -307,6 +319,7 @@ ALTER ROLE fred IN DATABASE devel SET client_min_messages = DEBUG; <simplelist type="inline"> <member><xref linkend="sql-createrole"></member> <member><xref linkend="sql-droprole"></member> + <member><xref linkend="sql-alterdatabase"></member> <member><xref linkend="sql-set"></member> </simplelist> </refsect1> |