Thread: 9.1rc1 bug: extension types not dropped with DROP SCHEMA CASCADE
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
On 10 September 2011 12:46, Marti Raudsepp <marti@juffo.org> wrote: > 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" I can confirm the problem in 9.1rc1, but it's fine when testing it on 9.1.0 which is out on Monday, and Git master. -- Thom Brown Twitter: @darkixion IRC (freenode): dark_ixion Registered Linux user: #516935 EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Marti Raudsepp <marti@juffo.org> writes: > Creating an extension in a schema and then dropping that schema > apparently doesn't clean up the extension's types: I believe this bug has already been fixed, but the fix is not in rc1. http://archives.postgresql.org/pgsql-bugs/2011-08/msg00120.php http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=660a081c3f6892dae353136fa0883cd3c69813d Regards, -- Dimitri Fontaine http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support
On Sat, Sep 10, 2011 at 15:44, Dimitri Fontaine <dimitri@2ndquadrant.fr> wrote: > I believe this bug has already been fixed, but the fix is not in rc1. Thanks Thom and Dimitri, I'll make sure to test my bug reports with git master in the future. :) Regards, Marti