Re: pg_dump schema in pg11 without global permissions - Mailing list pgsql-general
From | Sergey Koposov |
---|---|
Subject | Re: pg_dump schema in pg11 without global permissions |
Date | |
Msg-id | 1563923841.29206.106.camel@cmu.edu Whole thread Raw |
In response to | Re: pg_dump schema in pg11 without global permissions (Adrian Klaver <adrian.klaver@aklaver.com>) |
Responses |
Re: pg_dump schema in pg11 without global permissions
Re: pg_dump schema in pg11 without global permissions |
List | pgsql-general |
On Tue, 2019-07-23 at 16:04 -0700, Adrian Klaver wrote: > On 7/23/19 3:58 PM, Sergey Koposov wrote: > > > > On Tue, 2019-07-23 at 15:52 -0700, Adrian Klaver wrote: > > > > > > On 7/23/19 3:42 PM, Sergey Koposov wrote: > > > > > > > > > > > > On Tue, 2019-07-23 at 15:37 -0700, Adrian Klaver wrote: > > > > > > > > > > > > > > > On 7/23/19 3:23 PM, Sergey Koposov wrote: > > > > > > > > > > > > > > > > > > > > > > > > On Tue, 2019-07-23 at 15:21 -0700, Adrian Klaver wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 7/23/19 3:19 PM, Sergey Koposov wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > I'm trying to copy a schema from one PG database (ver 11) to PG 10. > > > > > > > > Previously the first database version was 9.6 and the way I did the copying was > > > > > > > > > > > > > > > > ssh -o Compression=no user@host '/opt/pgsql/bin/pg_dump --no-tablespaces -n schemaname -Fc -U dbadmin dbname' |pg_restore -U dbadmin -h localhost -1 -d dbnme > > > > > > > > > > > > > > > > However after migrating from PG 9.6 to 11, when I did the same thing as before, I started getting a bunchof commands in the dump like this > > > > > > > > > > > > > > > > GRANT CONNECT ON DATABASE dbname TO usernameXX; > > > > > > > > > > > > > > > > which don't work for me because the list of users is different between different machines. > > > > > > > > It is clear that the change is related to the way pg_dump is implemented now in PG11 that global objectsare dumped. > > > > > > > > But the question is how do I duplicate the previous behaviour, i.e. Dump just the schema and permission onthe schema, not on the database. > > > > > > > https://www.postgresql.org/docs/11/app-pgdump.html > > > > > > > > > > > > > > -x > > > > > > > --no-privileges > > > > > > > --no-acl > > > > > > > > > > > > > > Prevent dumping of access privileges (grant/revoke commands). > > > > > > Yes I saw that, but that will not dump privileges on the schema itself, which were dumped before as far as Iunderstand ... > > > > > So the roles for the schema don't change, but everything else does? > > > > The schema permissions are granted to a generic user 'dbuser'. And a bunch of users are members of this role andthat's how they access the schema. > > > > The database permissions on the other hand are granted specifically per individual user. > > > What version of pg_dump are you using? > > > > > > When I dump a version 10 database using a version 11 pg_dump I do not > > > see: GRANT CONNECT ON DATABASE > > > > > > pg_dump -Fc -n utility -s -d production -U postgres -p 5422 -f > > > schema_test.out > > > > > > pg_restore -f schema_test_fc.sql schema_test.out > > I'm dumping version 11 database using version 11 pg_dump. I double checked this. > > > > I don't know if in your test-case you have custom users whom you granted connect permissions. I do have them. > > Also what I'm seeing matches perfectly the release notes on pgdump which explicitely mention dumping of the global properties. > > https://www.postgresql.org/docs/11/release-11.html#id-1.11.6.9.4 > That is only supposed to happen if you use -C(--create) and I am seeing > that in your examples. For some reason I see when I just have a command like this it doesnt' have a grant connect on database ~/soft/pgsql_install/bin/pg_dump -U skoposov -h localhost -n xx --no-tablespaces test1 but when I add '-Fc' flag to pg_dump, I can see 'grant connect' inside the output (interdispersed with binary stuff) I don't get it S > > > > > > > > S > > >
pgsql-general by date: