Re: [COMMITTERS] pgsql: Fix pg_dump to dump shell types.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: pgsql-hackers(at)postgreSQL(dot)org, Peter Eisentraut <peter_e(at)gmx(dot)net>
Subject: Re: [COMMITTERS] pgsql: Fix pg_dump to dump shell types.
Date: 2015-08-09 22:23:13
Message-ID: 20081.1439158993@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> Still not quite there. If either 9.0 or 9.1 is upgraded to 9.2 or later,
> they fail like this:

> pg_restore: creating TYPE "public"."myshell"
> pg_restore: setting owner and privileges for TYPE "public"."myshell"
> pg_restore: setting owner and privileges for ACL "public"."myshell"
> pg_restore: [archiver (db)] Error from TOC entry 4293; 0 0 ACL
> myshell buildfarm
> pg_restore: [archiver (db)] could not execute query: ERROR: type
> "myshell" is only a shell
> Command was: REVOKE ALL ON TYPE "myshell" FROM PUBLIC;
> REVOKE ALL ON TYPE "myshell" FROM "buildfarm";
> GRANT ALL ON TYPE "myshell" TO PUBL...

> We could just declare that we don't support this for versions older than
> 9.2, in which case I would just remove the type from the test database
> before testing cross-version upgrade. But if it's easily fixed then
> let's do it.

It looks to me like the reason for this is that pg_dump forces the
"typacl" of a type to be '{=U}' when reading the schema data for a
pre-9.2 type, rather than reading it as NULL (ie default permissions)
which would result in not printing any grant/revoke commands for
the object.

I do not see a good reason for that; quite aside from this problem,
it means there is one more place that knows the default permissions
for a type than there needs to be. Peter, what was the rationale?

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2015-08-09 23:01:26 pgsql: Remove gram.y's precedence declaration for OVERLAPS.
Previous Message Andrew Dunstan 2015-08-09 22:07:55 Re: pgsql: Fix pg_dump to dump shell types.

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2015-08-09 22:44:58 Re: Precedence of standard comparison operators
Previous Message Noah Misch 2015-08-09 22:20:17 Re: Precedence of standard comparison operators