postgres.git / summary / log / commit / refs
commit 8a84ddd8c63289e14e1e1cc2c8a4a9c41f652e1a
Author: Fujii Masao <fujii@postgresql.org>
Date: Thu Jul 16 04:37:28 2026 +0000
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 ac58465e061, 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
doc/src/sgml/ddl.sgml | 3 ++-
doc/src/sgml/user-manag.sgml | 1 +
src/backend/catalog/aclchk.c | 4 ++--
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index f9b0a43ad59..3f3869df44e 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -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.
diff --git a/doc/src/sgml/user-manag.sgml b/doc/src/sgml/user-manag.sgml
index 0ec32700bd4..d68dd261012 100644
--- a/doc/src/sgml/user-manag.sgml
+++ b/doc/src/sgml/user-manag.sgml
@@ -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
diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c
index 007ede997c5..a6e8073d02e 100644
--- a/src/backend/catalog/aclchk.c
+++ b/src/backend/catalog/aclchk.c
@@ -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) &&
[parent: 54bf009052ed]