From: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> |
---|---|
To: | Guillaume Lelarge <guillaume(at)lelarge(dot)info>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Extensions not dumped when --schema is used |
Date: | 2020-05-20 08:45:26 |
Message-ID: | fb577c38d175595672d00a3903229167516a5e7c.camel@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, 2020-05-20 at 10:06 +0200, Guillaume Lelarge wrote:
> I've discovered something today that I didn't really expect.
> When a user dumps a database with the --schema flag of pg_dump,
> extensions in this schema aren't dumped. As far as I can tell,
> the documentation isn't clear about this ("Dump only schemas
> matching pattern; this selects both the schema itself, and all
> its contained objects."), though the source code definitely is
> ("We dump all user-added extensions by default, or none of them
> if include_everything is false (i.e., a --schema or --table
> switch was given).", in pg_dump.c).
>
> I was wondering the reason behind this choice. If anyone knows,
> I'd be happy to hear about it.
>
> I see two things:
> * it's been overlooked, and we should dump all the extensions
> available in a schema if this schema has been selected through
> the --schema flag.
> * it's kind of like the large objects handling, and I'd pretty
> interested in adding a --extensions (as the same way there is a
> --blobs flag).
I am not sure if there is a good reason for the current behavior,
but I'd favor the second solution. I think as extensions as belonging
to the database rather than the schema; the schema is just where the
objects are housed.
Yours,
Laurenz Albe
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel Gustafsson | 2020-05-20 09:26:36 | Re: Extensions not dumped when --schema is used |
Previous Message | shawn wang | 2020-05-20 08:15:32 | Re: [bug] Table not have typarray when created by single user mode |