Provide per-table permissions for vacuum and analyze.
authorAndrew Dunstan <andrew@dunslane.net>
Mon, 28 Nov 2022 15:08:42 +0000 (10:08 -0500)
committerAndrew Dunstan <andrew@dunslane.net>
Mon, 28 Nov 2022 17:08:14 +0000 (12:08 -0500)
commitb5d6382496f2b8fc31abd92c2654a9a67aca76c6
tree2f9521bf4654a1643f7987b1dbc1247b81283ff3
parent1f059a440864021b23b0667e7c0cb664710b660d
Provide per-table permissions for vacuum and analyze.

Currently a table can only be vacuumed or analyzed by its owner or
a superuser. This can now be extended to any user by means of an
appropriate GRANT.

Nathan Bossart

Reviewed by: Bharath Rupireddy, Kyotaro Horiguchi, Stephen Frost, Robert
Haas, Mark Dilger, Tom Lane, Corey Huinker, David G. Johnston, Michael
Paquier.

Discussion: https://postgr.es/m/20220722203735.GB3996698@nathanxps13
24 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/grant.sgml
doc/src/sgml/ref/revoke.sgml
doc/src/sgml/ref/vacuum.sgml
src/backend/catalog/aclchk.c
src/backend/commands/analyze.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/commands/vacuum.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