Stephen, thank you for responding, but your response indicated a misunderstanding. In lieu of a standalone example, let me explain the issue again.
Scenario:
Extension is installed into its own schema. Installation is now complete.
Extension creates a new table in its schema
Extension changes ACLs on the table.
After changing ACLs, the table is added to the extension (ALTER EXTENSION)
A pg_dump of this database will now include ACL commands for the table.
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.
Because I am setting the ACLs before adding the table to the extension, is should not include those ACLs in the pg_dump output.
Thanks.
On Thu, Jan 12, 2017 at 1:35 PM Stephen Frost <sfrost@snowman.net> wrote:
Greetings,
* Moshe Jacobson (moshe@neadwerx.com) wrote: > My extension dynamically creates extension-owned tables and puts ACLs on > them.
Ok, in 9.6, we should realize that your extension changed the ACLs for those tables.
> When the database is dumped, it includes grants/revokes for those tables, > which will not exist when the extension is re-installed.
When the database is dumped, it should include a CREATE EXTENSION command. It also shouldn't include GRANTs/REVOKEs unless the user changed the permissions on the extension's tables from what they were set to when the extension was installed.
> As a result, when the database is restored, I keep getting warnings because > it's trying to apply ACLs to tables that don't exist. > > Is there a way around this issue?
A self-contained test case against 9.6 which shows the issue you're having would really be the best way to help us.
If the issue is that you're working on a pre-9.6 version of PG, then I'm afraid you'll need to upgrade or live with the warnings.