Re: creating extension including dependencies

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Cc: Petr Jelinek <petr(at)2ndquadrant(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: creating extension including dependencies
Date: 2015-07-10 13:13:51
Message-ID: CAB7nPqSLTqoV+nBL_wes8njpFkvGbzBETHCXDE=9YARgqL6B5w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Jul 10, 2015 at 10:09 PM, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
wrote:

> On 07/09/2015 07:05 PM, Petr Jelinek wrote:
>
>> On 2015-07-07 15:41, Andres Freund wrote:
>>
>>> On 2015-07-07 22:36:29 +0900, Fujii Masao wrote:
>>>
>>>> On Mon, Jun 15, 2015 at 7:50 AM, Petr Jelinek <petr(at)2ndquadrant(dot)com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I am getting tired installing manually required extensions manually. I
>>>>> was
>>>>> wondering if we might want to add option to CREATE SEQUENCE that would
>>>>> allow
>>>>> automatic creation of the extensions required by the extension that is
>>>>> being
>>>>> installed by the user.
>>>>>
>>>>
>>>> I'm wondering how much helpful this feature is. Because, even if we can
>>>> save
>>>> some steps for CREATE EXTENSION by using the feature, we still need to
>>>> manually find out, download and install all the extensions that the
>>>> target
>>>> extension depends on. So isn't it better to implement the tool like
>>>> yum, i.e.,
>>>> which performs all those steps almost automatically, rather than the
>>>> proposed
>>>> feature? Maybe it's outside PostgreSQL core.
>>>>
>>>
>>> That doesn't seem to make much sense to me. Something like yum can't
>>> install everything in all relevant databases. Sure, yum will be used to
>>> install dependencies between extensions on the filesystem level.
>>>
>>> At the minimum I'd like to see that CREATE EXTENSION foo; would install
>>> install extension 'bar' if foo dependended on 'bar' if CASCADE is
>>> specified. Right now we always error out saying that the dependency on
>>> 'bar' is not fullfilled - not particularly helpful.
>>>
>>
>> That's what the proposed patch does (with slightly different syntax but
>> syntax is something that can be changed easily).
>>
>
> This seems quite reasonable, but I have to ask: How many extensions are
> there out there that depend on another extension? Off the top of my head, I
> can't think of any..
>

With transforms there are such dependencies, and there are 3 in contrib/:
hstore_plperl, hstore_plpython and ltree_plpython.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2015-07-10 13:14:53 Re: creating extension including dependencies
Previous Message Heikki Linnakangas 2015-07-10 13:09:48 Re: creating extension including dependencies