Re: Column/type dependency recording inconsistencies

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Petr Jelinek <petr(at)2ndquadrant(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Column/type dependency recording inconsistencies
Date: 2014-11-09 22:04:27
Message-ID: 13188.1415570667@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Petr Jelinek <petr(at)2ndquadrant(dot)com> writes:
> But the problem with the extension persists, I will try to dig more to
> find what is the real cause.

Hm ... I reproduced the problem here. I can't see anything that looks
wrong about the pg_depend entries:

obj | ref | deptype
----------------------------------------+-------------------------------------------------------+---------
extension deptestext | schema public | n
composite type droppabletype1 | type droppabletype1 | i
type droppabletype1[] | type droppabletype1 | i
type droppabletype1 | schema public | n
type droppabletype1 | extension deptestext | e
table testtable | schema public | n
table testtable | extension deptestext | e
table testtable column droppablecol2 | type droppabletype1 | n
table testtable column droppablecol1 | type droppabletype1 | n
table testtable column undroppablecol1 | type undroppabletype | n
table testtable column undroppablecol2 | type undroppabletype | n
type testtable[] | type testtable | i
type testtable | table testtable | i
composite type undroppabletype | type undroppabletype | i
type undroppabletype[] | type undroppabletype | i
type undroppabletype | schema public | n
type undroppabletype | extension deptestext | e
toast table pg_toast.pg_toast_162813 | table testtable | i
type pg_toast.pg_toast_162813 | toast table pg_toast.pg_toast_162813 | i
index pg_toast.pg_toast_162813_index | toast table pg_toast.pg_toast_162813 column chunk_id | a
index pg_toast.pg_toast_162813_index | toast table pg_toast.pg_toast_162813 column chunk_seq | a
(21 rows)

but sure enough:

d1=# drop extension deptestext;
ERROR: cannot drop extension deptestext because other objects depend on it
DETAIL: table testtable column undroppablecol2 depends on type undroppabletype
table testtable column undroppablecol1 depends on type undroppabletype
HINT: Use DROP ... CASCADE to drop the dependent objects too.

I suspect this is actually a bug in the dependency search logic in DROP.
Don't have the energy to chase it right now though.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Petr Jelinek 2014-11-09 22:36:54 Re: Column/type dependency recording inconsistencies
Previous Message Andres Freund 2014-11-09 21:47:55 Re: WAL format and API changes (9.5)