1
0
mirror of https://github.com/postgres/postgres.git synced 2026-10-23 13:29:09 +03:00

doc: Mention REPACK in MAINTAIN privilege descriptions

REPACK requires the MAINTAIN privilege, but it was omitted from the
lists of commands covered by that privilege in ddl.sgml and the
description of the predefined pg_maintain role in user-manag.sgml.
This was an oversight in commit ac58465e06, which introduced
REPACK.

Add REPACK to both documentation lists, and update the corresponding
comment in aclchk.c.

Author: Shinya Kato <shinya11.kato@gmail.com>
Reviewed-by: Ewan Young <kdbase.hack@gmail.com>
Reviewed-by: Fujii Masao <masao.fujii@gmail.com>
Discussion: https://postgr.es/m/CAOzEurRJOVokiB2J8nrF569nX-ZMb0oRSB0C=yZQ17mZxd4_BQ@mail.gmail.com
Backpatch-through: 19
This commit is contained in:
Fujii Masao
2026-07-16 13:37:28 +09:00
parent 54bf009052
commit 8a84ddd8c6
3 changed files with 5 additions and 3 deletions

View File

@@ -2538,7 +2538,8 @@ REVOKE ALL ON accounts FROM PUBLIC;
<listitem>
<para>
Allows <command>VACUUM</command>, <command>ANALYZE</command>,
<command>CLUSTER</command>, <command>REFRESH MATERIALIZED VIEW</command>,
<command>CLUSTER</command>, <command>REPACK</command>,
<command>REFRESH MATERIALIZED VIEW</command>,
<command>REINDEX</command>, <command>LOCK TABLE</command>,
and database object statistics manipulation functions
(see <xref linkend="functions-admin-statsmod"/>) on a relation.

View File

@@ -660,6 +660,7 @@ GRANT pg_signal_backend TO admin_user;
<link linkend="sql-vacuum"><command>VACUUM</command></link>,
<link linkend="sql-analyze"><command>ANALYZE</command></link>,
<link linkend="sql-cluster"><command>CLUSTER</command></link>,
<link linkend="sql-repack"><command>REPACK</command></link>,
<link linkend="sql-refreshmaterializedview"><command>REFRESH MATERIALIZED VIEW</command></link>,
<link linkend="sql-reindex"><command>REINDEX</command></link>,
and <link linkend="sql-lock"><command>LOCK TABLE</command></link> on all

View File

@@ -3419,8 +3419,8 @@ pg_class_aclmask_ext(Oid table_oid, Oid roleid, AclMode mask,
/*
* Check if ACL_MAINTAIN is being checked and, if so, and not already set
* as part of the result, then check if the user is a member of the
* pg_maintain role, which allows VACUUM, ANALYZE, CLUSTER, REFRESH
* MATERIALIZED VIEW, REINDEX, and LOCK TABLE on all relations.
* pg_maintain role, which allows VACUUM, ANALYZE, CLUSTER, REPACK,
* REFRESH MATERIALIZED VIEW, REINDEX, and LOCK TABLE on all relations.
*/
if (mask & ACL_MAINTAIN &&
!(result & ACL_MAINTAIN) &&