Provide non-superuser predefined roles for vacuum and analyze
authorAndrew Dunstan <[email protected]>
Mon, 28 Nov 2022 16:57:28 +0000 (11:57 -0500)
committerAndrew Dunstan <[email protected]>
Mon, 28 Nov 2022 17:08:14 +0000 (12:08 -0500)
commit4441fc704d7048b2f1f039cc74b72bd23e7e36d0
treee355df27b24a29ad62f19f941e3b2b681a2afe62
parentb5d6382496f2b8fc31abd92c2654a9a67aca76c6
Provide non-superuser predefined roles for vacuum and analyze

This provides two new predefined roles: pg_vacuum_all_tables and
pg_analyze_all_tables. Roles which have been granted these roles can
perform vacuum or analyse respectively on any or all tables as if they
were a superuser. This removes the need to grant superuser privilege to
roles just so they can perform vacuum and/or analyze.

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
doc/src/sgml/ref/analyze.sgml
doc/src/sgml/ref/vacuum.sgml
doc/src/sgml/user-manag.sgml
src/backend/catalog/aclchk.c
src/include/catalog/catversion.h
src/include/catalog/pg_authid.dat
src/test/regress/expected/privileges.out
src/test/regress/sql/privileges.sql