Re: Refactor handling of database attributes between pg_dump and pg_dumpall
Haribabu Kommi <kommi.haribabu@gmail.com>
From: Haribabu Kommi <kommi.haribabu@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Vaishnavi Prabakaran <vaishnaviprabakaran@gmail.com>, Thomas Munro <thomas.munro@enterprisedb.com>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>,
Andreas Karlsson <andreas@proxel.se>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2017-11-07T09:35:40Z
Lists: pgsql-hackers
Attachments
- pg_dump-and-pg_dumpall-database-handling-refactoring_v9.patch (application/octet-stream) patch v9
On Thu, Oct 26, 2017 at 10:01 PM, Robert Haas <robertmhaas@gmail.com> wrote: > On Mon, Oct 23, 2017 at 7:36 AM, Haribabu Kommi > <kommi.haribabu@gmail.com> wrote: > > Apologies for not providing much details. > > > > pg_dumpall is used to produce the following statements for database, > > > > "Create database" (other than default database) or > > "Alter database set tablespace" for default database (if required) > > > > ACL queries related to database > > Alter database config > > Alter database role config > > > > whereas, pg_dump used to produce only "create database statement". > > How about adding a new flag --set-db-properties that doesn't produce > CREATE DATABASE but does dump the other stuff? -C would dump both > CREATE DATABASE *and* the other stuff. Then you could dump built-in > databases with --set-db-properties and others with -C. Thanks for the idea, Here I attached the patch that implements the same. The newly added option is not recommended to be used in normal cases and it is used only for upgrade utilities. In case if user issues pg_dump with --set-db-properties option along with --create or --clean options, an error is raised. Currently there is no way to throw an error in case if the dump is generated with --set-db-properties and try to restore with --clean option. To avoid this change, we may need to add additional details in the archive handler, but is it really needed? Regards, Hari Babu Fujitsu Australia
Commits
-
Move handling of database properties from pg_dumpall into pg_dump.
- b3f8401205af 11.0 landed
-
Allow pg_dumpall to dump roles w/o user passwords
- 9a83d56b38c8 10.0 cited
-
Fix pg_dumpall to work for databases flagged as read-only.
- 4bd371f6f886 9.4.0 cited