OK, I'm stumped:

rhaas=# create extension pg_stat_statements;
CREATE EXTENSION
rhaas=# drop view pg_stat_statements;
ERROR:  cannot drop view pg_stat_statements because extension
pg_stat_statements requires it
HINT:  You can drop extension pg_stat_statements instead.
rhaas=# alter extension pg_stat_statements drop view pg_stat_statements;
ALTER EXTENSION
rhaas=# drop view pg_stat_statements;
ERROR:  cannot drop view pg_stat_statements because other objects depend on it
DETAIL:  extension pg_stat_statements depends on view pg_stat_statements
HINT:  Use DROP ... CASCADE to drop the dependent objects too.

At the very last, the error message is totally confusing, because the
point is that I just removed that object from the extension, and I'm
being told that I can't remove it because it's part of the extension.
A little snooping around with \dx+ reveals a possible cause: the view
itself has been removed from the extension, but the associated types
are still connected to it:

rhaas=# \dx+ pg_stat_statements
Objects in extension "pg_stat_statements"
         Object Description
-------------------------------------
 function pg_stat_statements()
 function pg_stat_statements_reset()
 type pg_stat_statements
 type pg_stat_statements[]
(4 rows)

OK, no problem, I'll just disconnect those, too:

rhaas=# alter extension pg_stat_statements drop type pg_stat_statements;
ALTER EXTENSION
rhaas=# alter extension pg_stat_statements drop type pg_stat_statements[];
ERROR:  syntax error at or near "["
LINE 1: ...extension pg_stat_statements drop type pg_stat_statements[];
                                                                    ^

Hmm.  So just how do I do this?

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to