Re: BUG #14456: pg_dump doesn't restore permissions on tables belonging to an extension

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Moshe Jacobson <moshe(at)neadwerx(dot)com>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, daniele(dot)varrazzo(at)gmail(dot)com, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #14456: pg_dump doesn't restore permissions on tables belonging to an extension
Date: 2017-01-12 19:01:41
Message-ID: 12559.1484247701@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Moshe Jacobson <moshe(at)neadwerx(dot)com> writes:
> Scenario:

> 1. Extension is installed into its own schema. Installation is now
> complete.
> 2. Extension creates a new table in its schema
> 3. Extension changes ACLs on the table.

Extensions are not actors, so claiming that "the extension" did something
is at best pretty fuzzy thinking.

> 4. After changing ACLs, the table is added to the extension (ALTER
> EXTENSION)
> 5. A pg_dump of this database will now include ACL commands for the
> table.

Hmm. There's an argument to be made that ALTER EXTENSION ADD should
absorb whatever the object's current ACLs are into the pg_init_privs
entries for the extension. (I don't think it does that now, though
I might be wrong.) However ...

> 6. A pg_restore of this file will give warnings because the ACLs refer
> to a table that is not created as part of the installation process.

I think this scenario is simply pilot error, or at least gross abuse of
the extension system. If you dump and reload a DB containing an extension,
the extension definition that's fetched by CREATE EXTENSION is expected
to define (at least) all the objects that belonged to the extension in the
old DB. You can't just randomly ALTER EXTENSION and not update the
extension definition script to match.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Stephen Frost 2017-01-12 19:08:30 Re: BUG #14456: pg_dump doesn't restore permissions on tables belonging to an extension
Previous Message Moshe Jacobson 2017-01-12 18:49:14 Re: BUG #14456: pg_dump doesn't restore permissions on tables belonging to an extension