Thread: pg_dump dependency loop with extension containing its own schema

pg_dump dependency loop with extension containing its own schema

From
Thom Brown
Date:
Hi,

I'm getting a dependency loop issue with pg_dump when adding a schema
to an extension where the schema being added is the same as the one
containing the extension.

CREATE EXTENSION file_fdw;
ALTER EXTENSION file_fdw ADD SCHEMA public;

$ pg_dump -f /dev/null test
pg_dump: [sorter] WARNING: could not resolve dependency loop among these items:
pg_dump: [sorter]   SCHEMA public  (ID 5 OID 2200)
pg_dump: [sorter]   EXTENSION file_fdw  (ID 170 OID 28912)

or

CREATE SCHEMA meow;
CREATE EXTENSION file_fdw WITH SCHEMA meow;
ALTER EXTENSION file_fdw ADD SCHEMA meow;

$ pg_dump -f /dev/null test
pg_dump: [sorter] WARNING: could not resolve dependency loop among these items:
pg_dump: [sorter]   SCHEMA meow  (ID 7 OID 28917)
pg_dump: [sorter]   EXTENSION file_fdw  (ID 171 OID 28918)

but not

CREATE SCHEMA meow;
CREATE EXTENSION file_fdw WITH SCHEMA meow;
ALTER EXTENSION file_fdw ADD SCHEMA public;

$ pg_dump -f /dev/null test3
$
(no errors shown)

I can produce this issue in 9.1.4 and head (as of commit
83af58f6b5657840f5924332fccecca1e3556abe).

Since this is a bug report, I'll include the necessary supporting info:
OS: Linux Mint x64
Kernel: 3.2.0-27-generic
CC version: Linaro 4.6.3-1ubuntu5
RAM: 16GB DDR3

--
Thom

Re: pg_dump dependency loop with extension containing its own schema

From
Tom Lane
Date:
Thom Brown <thom@linux.com> writes:
> I'm getting a dependency loop issue with pg_dump when adding a schema
> to an extension where the schema being added is the same as the one
> containing the extension.

> CREATE EXTENSION file_fdw;
> ALTER EXTENSION file_fdw ADD SCHEMA public;

ISTM we ought to disallow that ... either the schema is inside the
extension, or vice versa, it's not sensible to say both.

            regards, tom lane

Re: pg_dump dependency loop with extension containing its own schema

From
Thom Brown
Date:
On 12 August 2012 01:06, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Thom Brown <thom@linux.com> writes:
>> I'm getting a dependency loop issue with pg_dump when adding a schema
>> to an extension where the schema being added is the same as the one
>> containing the extension.
>
>> CREATE EXTENSION file_fdw;
>> ALTER EXTENSION file_fdw ADD SCHEMA public;
>
> ISTM we ought to disallow that ... either the schema is inside the
> extension, or vice versa, it's not sensible to say both.

Precisely.

--
Thom

Re: pg_dump dependency loop with extension containing its own schema

From
Thom Brown
Date:
On 12 August 2012 08:17, Thom Brown <thom@linux.com> wrote:
> On 12 August 2012 01:06, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Thom Brown <thom@linux.com> writes:
>>> I'm getting a dependency loop issue with pg_dump when adding a schema
>>> to an extension where the schema being added is the same as the one
>>> containing the extension.
>>
>>> CREATE EXTENSION file_fdw;
>>> ALTER EXTENSION file_fdw ADD SCHEMA public;
>>
>> ISTM we ought to disallow that ... either the schema is inside the
>> extension, or vice versa, it's not sensible to say both.
>
> Precisely.

Suggested changes attached. (not really confident about it though)

--
Thom

Attachment

Re: pg_dump dependency loop with extension containing its own schema

From
Tom Lane
Date:
Thom Brown <thom@linux.com> writes:
> On 12 August 2012 08:17, Thom Brown <thom@linux.com> wrote:
>> On 12 August 2012 01:06, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> ISTM we ought to disallow that ... either the schema is inside the
>>> extension, or vice versa, it's not sensible to say both.

>> Precisely.

> Suggested changes attached. (not really confident about it though)

Applied with minor editorialization.  Thanks!

            regards, tom lane

Re: pg_dump dependency loop with extension containing its own schema

From
Thom Brown
Date:
On 15 August 2012 16:30, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Thom Brown <thom@linux.com> writes:
>> On 12 August 2012 08:17, Thom Brown <thom@linux.com> wrote:
>>> On 12 August 2012 01:06, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>>> ISTM we ought to disallow that ... either the schema is inside the
>>>> extension, or vice versa, it's not sensible to say both.
>
>>> Precisely.
>
>> Suggested changes attached. (not really confident about it though)
>
> Applied with minor editorialization.  Thanks!

Cheers Tom.

--
Thom