Received: from maia.hub.org (maia-5.hub.org [200.46.204.29]) by mail.postgresql.org (Postfix) with ESMTP id 159C21337B43 for ; Mon, 31 Jan 2011 14:24:35 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.29]) (amavisd-maia, port 10024) with ESMTP id 55005-05 for ; Mon, 31 Jan 2011 18:24:28 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from sss.pgh.pa.us (sss.pgh.pa.us [66.207.139.130]) by mail.postgresql.org (Postfix) with ESMTP id 79B291336FA7 for ; Mon, 31 Jan 2011 14:24:27 -0400 (AST) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.2/8.14.2) with ESMTP id p0VIOQn7019813; Mon, 31 Jan 2011 13:24:26 -0500 (EST) To: "Bradley Holbrook" cc: "=?UTF-8?Q?'Viktor_Bojovi=C4=87'?=" , pgsql-admin@postgresql.org Subject: Re: Drop Schema Error In-reply-to: <00d201cbc170$af9c5ff0$0ed51fd0$@servillian.ca> References: <00fe01cbbf46$a1c21c20$e5465460$@servillian.ca> <12066.1296320275@sss.pgh.pa.us> <00d201cbc170$af9c5ff0$0ed51fd0$@servillian.ca> Comments: In-reply-to "Bradley Holbrook" message dated "Mon, 31 Jan 2011 10:00:03 -0800" Date: Mon, 31 Jan 2011 13:24:26 -0500 Message-ID: <19812.1296498266@sss.pgh.pa.us> From: Tom Lane X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.91 tagged_above=-10 required=5 tests=BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01 X-Spam-Level: X-Archive-Number: 201101/197 X-Sequence-Number: 36637 "Bradley Holbrook" writes: > I renamed the schema from permissions to _old_permissions and I believe this caused the error. Uh, no, certainly not. pg_depend only cares about the objects' OIDs, not their names. Testing in 8.3, it works fine: regression=# create schema old_permissions; CREATE SCHEMA regression=# create function old_permissions.foo() returns int as regression-# 'select 2+2' language sql; CREATE FUNCTION regression=# create function old_permissions.foo2(int) returns int as 'begin return $1 + 1; end' language plpgsql; CREATE FUNCTION regression=# alter schema old_permissions rename to "_old_permissions"; ALTER SCHEMA regression=# DROP SCHEMA "_old_permissions" ; NOTICE: function _old_permissions.foo2(integer) depends on schema _old_permissions NOTICE: function _old_permissions.foo() depends on schema _old_permissions ERROR: cannot drop schema _old_permissions because other objects depend on it HINT: Use DROP ... CASCADE to drop the dependent objects too. regression=# DROP SCHEMA "_old_permissions" CASCADE; NOTICE: drop cascades to function _old_permissions.foo2(integer) NOTICE: drop cascades to function _old_permissions.foo() DROP SCHEMA regression=# As I said, we've never seen a reproducible example. regards, tom lane