pg_dump dependency loop with extension containing its own schema

Started by Thom Brownover 13 years ago6 messagesbugs
Jump to latest
#1Thom Brown
thom@linux.com

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Thom Brown (#1)
Re: pg_dump dependency loop with extension containing its own schema

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

#3Thom Brown
thom@linux.com
In reply to: Tom Lane (#2)
Re: pg_dump dependency loop with extension containing its own schema

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

#4Thom Brown
thom@linux.com
In reply to: Thom Brown (#3)
Re: pg_dump dependency loop with extension containing its own schema

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

Attachments:

extension_schema_dependency_loop.patchapplication/octet-stream; name=extension_schema_dependency_loop.patchDownload+35-0
#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Thom Brown (#4)
Re: pg_dump dependency loop with extension containing its own schema

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

#6Thom Brown
thom@linux.com
In reply to: Tom Lane (#5)
Re: pg_dump dependency loop with extension containing its own schema

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