diff options
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/ref/analyze.sgml | 10 | ||||
-rw-r--r-- | doc/src/sgml/ref/vacuum.sgml | 10 | ||||
-rw-r--r-- | doc/src/sgml/user-manag.sgml | 12 |
3 files changed, 26 insertions, 6 deletions
diff --git a/doc/src/sgml/ref/analyze.sgml b/doc/src/sgml/ref/analyze.sgml index 400ea30cd0..16c0b886fd 100644 --- a/doc/src/sgml/ref/analyze.sgml +++ b/doc/src/sgml/ref/analyze.sgml @@ -148,12 +148,16 @@ ANALYZE [ VERBOSE ] [ <replaceable class="parameter">table_and_columns</replacea <title>Notes</title> <para> - To analyze a table, one must ordinarily be the table's owner or a - superuser or have the <literal>ANALYZE</literal> privilege on the table. + To analyze a table, one must ordinarily have the <literal>ANALYZE</literal> + privilege on the table or be the table's owner, a superuser, or a role with + privileges of the + <link linkend="predefined-roles-table"><literal>pg_analyze_all_tables</literal></link> + role. However, database owners are allowed to analyze all tables in their databases, except shared catalogs. (The restriction for shared catalogs means that a true database-wide - <command>ANALYZE</command> can only be performed by a superuser.) + <command>ANALYZE</command> can only be performed by superusers and roles + with privileges of <literal>pg_analyze_all_tables</literal>.) <command>ANALYZE</command> will skip over any tables that the calling user does not have permission to analyze. </para> diff --git a/doc/src/sgml/ref/vacuum.sgml b/doc/src/sgml/ref/vacuum.sgml index 70c0d81346..9cd880ea34 100644 --- a/doc/src/sgml/ref/vacuum.sgml +++ b/doc/src/sgml/ref/vacuum.sgml @@ -356,12 +356,16 @@ VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ <replaceable class="paramet <title>Notes</title> <para> - To vacuum a table, one must ordinarily be the table's owner or a - superuser or have the <literal>VACUUM</literal> privilege on the table. + To vacuum a table, one must ordinarily have the <literal>VACUUM</literal> + privilege on the table or be the table's owner, a superuser, or a role with + privileges of the + <link linkend="predefined-roles-table"><literal>pg_vacuum_all_tables</literal></link> + role. However, database owners are allowed to vacuum all tables in their databases, except shared catalogs. (The restriction for shared catalogs means that a true database-wide - <command>VACUUM</command> can only be performed by a superuser.) + <command>VACUUM</command> can only be performed by superusers and roles + with privileges of <literal>pg_vacuum_all_tables</literal>.) <command>VACUUM</command> will skip over any tables that the calling user does not have permission to vacuum. </para> diff --git a/doc/src/sgml/user-manag.sgml b/doc/src/sgml/user-manag.sgml index 601fff3e6b..2bff4e47d0 100644 --- a/doc/src/sgml/user-manag.sgml +++ b/doc/src/sgml/user-manag.sgml @@ -635,6 +635,18 @@ DROP ROLE doomed_role; the <link linkend="sql-checkpoint"><command>CHECKPOINT</command></link> command.</entry> </row> + <row> + <entry>pg_vacuum_all_tables</entry> + <entry>Allow executing the + <link linkend="sql-vacuum"><command>VACUUM</command></link> command on + all tables.</entry> + </row> + <row> + <entry>pg_analyze_all_tables</entry> + <entry>Allow executing the + <link linkend="sql-analyze"><command>ANALYZE</command></link> command on + all tables.</entry> + </row> </tbody> </tgroup> </table> |