9.1rc1 bug: extension types not dropped with DROP SCHEMA CASCADE

From: Marti Raudsepp <marti(at)juffo(dot)org>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: 9.1rc1 bug: extension types not dropped with DROP SCHEMA CASCADE
Date: 2011-09-10 11:46:59
Message-ID: CABRT9RDsv8ZLKDeEsUx4z+jR-rZJY4DY9y35WYMh4wp8ko+C_Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi!

Creating an extension in a schema and then dropping that schema
apparently doesn't clean up the extension's types:
db=# CREATE SCHEMA foo;
db=# CREATE EXTENSION cube WITH SCHEMA foo;
db=# DROP SCHEMA foo CASCADE;
NOTICE: drop cascades to 6 other objects
DETAIL: drop cascades to operator foo.<>(foo.cube,foo.cube)
drop cascades to operator foo.>(foo.cube,foo.cube)
drop cascades to operator foo.<=(foo.cube,foo.cube)
drop cascades to operator foo.>=(foo.cube,foo.cube)
drop cascades to operator foo.<@(foo.cube,foo.cube)
drop cascades to operator foo.~(foo.cube,foo.cube)

It leaves around pg_type entry with typnamespace that doesn't exist in
pg_namespace:

db=# select * from pg_type left join pg_namespace ns on
(typnamespace=ns.oid) where ns.oid is null;
* Record 1
typname _cube
typnamespace 17074
typowner 10
typlen -1
...

Also breaks pg_dump: "pg_dump: schema with OID 17074 does not exist"

Regards,
Marti

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit kapila 2011-09-10 12:04:36 Re: cheaper snapshots redux
Previous Message Andres Freund 2011-09-10 08:29:26 Re: postgresql.conf archive_command example