Add grantable MAINTAIN privilege and pg_maintain role.
authorJeff Davis <[email protected]>
Wed, 14 Dec 2022 01:33:28 +0000 (17:33 -0800)
committerJeff Davis <[email protected]>
Wed, 14 Dec 2022 01:33:28 +0000 (17:33 -0800)
commit60684dd834a222fefedd49b19d1f0a6189c1632e
treea7452cf4aec03f4bed616662832ebcb8caac11a6
parentc6f6646bb0bef315c3836f3f6909c24a985a8621
Add grantable MAINTAIN privilege and pg_maintain role.

Allows VACUUM, ANALYZE, REINDEX, REFRESH MATERIALIZED VIEW, CLUSTER,
and LOCK TABLE.

Effectively reverts 4441fc704d. Instead of creating separate
privileges for VACUUM, ANALYZE, and other maintenance commands, group
them together under a single MAINTAIN privilege.

Author: Nathan Bossart
Discussion: https://postgr.es/m/20221212210136.GA449764@nathanxps13
Discussion: https://postgr.es/m/45224.1670476523@sss.pgh.pa.us
36 files changed:
doc/src/sgml/ddl.sgml
doc/src/sgml/func.sgml
doc/src/sgml/ref/alter_default_privileges.sgml
doc/src/sgml/ref/analyze.sgml
doc/src/sgml/ref/cluster.sgml
doc/src/sgml/ref/grant.sgml
doc/src/sgml/ref/lock.sgml
doc/src/sgml/ref/refresh_materialized_view.sgml
doc/src/sgml/ref/reindex.sgml
doc/src/sgml/ref/revoke.sgml
doc/src/sgml/ref/vacuum.sgml
doc/src/sgml/user-manag.sgml
src/backend/catalog/aclchk.c
src/backend/commands/analyze.c
src/backend/commands/cluster.c
src/backend/commands/indexcmds.c
src/backend/commands/lockcmds.c
src/backend/commands/matview.c
src/backend/commands/tablecmds.c
src/backend/commands/vacuum.c
src/backend/parser/gram.y
src/backend/utils/adt/acl.c
src/bin/pg_dump/dumputils.c
src/bin/pg_dump/t/002_pg_dump.pl
src/bin/psql/tab-complete.c
src/include/catalog/catversion.h
src/include/catalog/pg_authid.dat
src/include/commands/tablecmds.h
src/include/nodes/parsenodes.h
src/include/utils/acl.h
src/test/regress/expected/dependency.out
src/test/regress/expected/privileges.out
src/test/regress/expected/rowsecurity.out
src/test/regress/expected/vacuum.out
src/test/regress/sql/dependency.sql
src/test/regress/sql/privileges.sql