]> granicus.if.org Git - postgresql/commit
In pg_dump, include pg_catalog and extension ACLs, if changed
authorStephen Frost <sfrost@snowman.net>
Thu, 7 Apr 2016 01:45:32 +0000 (21:45 -0400)
committerStephen Frost <sfrost@snowman.net>
Thu, 7 Apr 2016 01:45:32 +0000 (21:45 -0400)
commit23f34fa4ba358671adab16773e79c17c92cbc870
treef1f1cef2eb727f70ba5a48bc0d89b54b5d7c3019
parentd217b2c360cb9a746b4ef122c568bdfedb6d726e
In pg_dump, include pg_catalog and extension ACLs, if changed

Now that all of the infrastructure exists, add in the ability to
dump out the ACLs of the objects inside of pg_catalog or the ACLs
for objects which are members of extensions, but only if they have
been changed from their original values.

The original values are tracked in pg_init_privs.  When pg_dump'ing
9.6-and-above databases, we will dump out the ACLs for all objects
in pg_catalog and the ACLs for all extension members, where the ACL
has been changed from the original value which was set during either
initdb or CREATE EXTENSION.

This should not change dumps against pre-9.6 databases.

Reviews by Alexander Korotkov, Jose Luis Tallon
15 files changed:
doc/src/sgml/extend.sgml
src/backend/catalog/aclchk.c
src/backend/utils/adt/pg_upgrade_support.c
src/bin/initdb/initdb.c
src/bin/pg_dump/dumputils.c
src/bin/pg_dump/dumputils.h
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump.h
src/bin/pg_dump/pg_dumpall.c
src/include/catalog/binary_upgrade.h
src/include/catalog/pg_proc.h
src/test/regress/expected/init_privs.out [new file with mode: 0644]
src/test/regress/parallel_schedule
src/test/regress/serial_schedule
src/test/regress/sql/init_privs.sql [new file with mode: 0644]