Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bFOzZ-0000Rg-UU for pgsql-docs@arkaria.postgresql.org; Tue, 21 Jun 2016 16:57:38 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bFOzY-0004ZV-Q9 for pgsql-docs@arkaria.postgresql.org; Tue, 21 Jun 2016 16:57:36 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bFOzY-0004ZD-6e for pgsql-docs@postgresql.org; Tue, 21 Jun 2016 16:57:36 +0000 Received: from smtprelay0061.b.hostedemail.com ([64.98.42.61] helo=smtprelay.b.hostedemail.com) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bFOzV-0007Vs-26 for pgsql-docs@postgresql.org; Tue, 21 Jun 2016 16:57:34 +0000 Received: from filter.hostedemail.com (10.5.19.248.rfc1918.com [10.5.19.248]) by smtprelay03.b.hostedemail.com (Postfix) with ESMTP id 633981A7398; Tue, 21 Jun 2016 16:57:31 +0000 (UTC) X-Session-Marker: 616C76686572726540616C76682E6E6F2D69702E6F7267 X-Spam-Summary: 50,0,0,,d41d8cd98f00b204,alvherre@alvh.no-ip.org,:::::,RULES_HIT:41:355:379:599:800:960:967:968:973:982:988:989:1260:1263:1277:1311:1312:1313:1314:1345:1359:1431:1437:1515:1516:1518:1519:1534:1542:1593:1594:1595:1596:1711:1730:1747:1777:1792:1981:2194:2199:2393:2525:2540:2553:2565:2682:2685:2828:2859:2933:2937:2939:2942:2945:2947:2951:2954:3022:3138:3139:3140:3141:3142:3353:3770:3865:3866:3867:3868:3870:3871:3872:3873:3874:3934:3936:3938:3941:3944:3947:3950:3953:3956:3959:4321:4605:4659:5007:6117:6261:7809:7903:8599:8957:9025:9121:9388:10004:10400:10848:11232:11233:11256:11257:11658:11914:12043:12295:12438:12517:12519:12555:12663:12679:12696:12698:12737:12740:12933:13095:13161:13229:13439:13846:13894:13895:14181:14721:21080:21365:21433:30012:30051:30054:30090:30091,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:3,LUA_SUMMARY:none X-HE-Tag: water90_2453c2cade356 X-Filterd-Recvd-Size: 3005 Received: from alvin.alvh.no-ip.org (unknown [216.155.90.98]) (Authenticated sender: alvherre@alvh.no-ip.org) by omf05.b.hostedemail.com (Postfix) with ESMTPA; Tue, 21 Jun 2016 16:57:29 +0000 (UTC) Received: by alvin.alvh.no-ip.org (Postfix, from userid 1000) id 966B2526; Tue, 21 Jun 2016 12:57:25 -0400 (CLT) Date: Tue, 21 Jun 2016 12:57:25 -0400 From: Alvaro Herrera To: Michael Paquier Cc: mschwan@opentext.com, pgsql-docs@postgresql.org Subject: Re: DROP EXTENSION Message-ID: <20160621165725.GA89052@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Pg-Spam-Score: 1.1 (+) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-docs Precedence: bulk Sender: pgsql-docs-owner@postgresql.org Michael Paquier wrote: > On Tue, Jun 21, 2016 at 1:00 AM, wrote: > > Page: https://www.postgresql.org/docs/9.5/static/sql-dropextension.html > > Description: > > I dropped an extension in my database with a function dependency. The > > function was dropped (without messages of dependencies) and leaving the > > function intact. > > The lines "DROP EXTENSION removes extensions from the database. Dropping an > > extension causes its component objects to be dropped as well." is not clear. > > It should be stated that by default the dependencies remain intact after > > the drop. > > I am not following here. I think the use case involves the user creating a function that depends on something (probably another function) in the extension. So you drop the extension, which drops the function your own function depends on, but your own function remains in place. This seems very similar to the use case for which we added the ALTER OBJECT DEPEND ON EXTENSION (cited below) but not quite the same. Perhaps mschwan can clarify. commit f2fcad27d59c8e5c48f8fa0a96c8355e40f24273 Author: Alvaro Herrera AuthorDate: Tue Apr 5 18:38:54 2016 -0300 CommitDate: Tue Apr 5 18:38:54 2016 -0300 Support ALTER THING .. DEPENDS ON EXTENSION This introduces a new dependency type which marks an object as depending on an extension, such that if the extension is dropped, the object automatically goes away; and also, if the database is dumped, the object is included in the dump output. Currently the grammar supports this for indexes, triggers, materialized views and functions only, although the utility code is generic so adding support for more object types is a matter of touching the parser rules only. Author: Abhijit Menon-Sen Reviewed-by: Alexander Korotkov, Álvaro Herrera Discussion: http://www.postgresql.org/message-id/20160115062649.GA5068@toroid.org -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-docs