Re: Only one version can be installed when using extension_control_path

From: Pierrick <pierrick(dot)chovelon(at)dalibo(dot)com>
To: Matheus Alcantara <matheusssilv97(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: Peter Eisentraut <peter(at)eisentraut(dot)org>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Only one version can be installed when using extension_control_path
Date: 2025-09-10 07:48:40
Message-ID: 82357241-d6de-4f48-8ff9-1a7b3ec22845@dalibo.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 09/09/2025 16:18, Matheus Alcantara wrote:
> On Tue Sep 9, 2025 at 4:53 AM -03, Pierrick wrote:
>> On 08/09/2025 17:35, Tom Lane wrote:
>>> "David G. Johnston"<david(dot)g(dot)johnston(at)gmail(dot)com> writes:
>>>> On Monday, September 8, 2025, Matheus Alcantara<matheusssilv97(at)gmail(dot)com>
>>>> wrote:
>>>>> On this step it will search the .control
>>>>> file on paths at extension_control_path in order and it will use the
>>>>> first one that it finds and based on the .control file found it will
>>>>> install the extension using the version specified on the command.
>>>> Then pg_available_extensions seems broken - it lists extensions as
>>>> available that are not accessible to the user due to this policy. Maybe we
>>>> need to add something indicating that certain rows are hidden behind the
>>>> present path setting which would need to be changed if one wishes to
>>>> install them. Also seems like the extension location should be part of the
>>>> output too.
>> I agree. If an extension is the list, I expect to be able to install it.
>>
> I definitely agree that pg_available_extensions is wrong but I think
> that a fix for this should be to don't allow extensions with the same
> name on different paths.
>
> The current behavior is to stop the searching when the first extension
> name matches with the CREATE EXTENSION input, this works in the same way
> when for example we have the same command on multiple paths on PATH.

If so, then only one line should be printed in pg_available_extensions.
This could be the fix :).

> Changing the behavior to search on all paths to find the extension that
> matches the name and possibly the version seems complicated and
> confusing to me TBH.
>
> To have multiple versions of the same extension, the .sql files for all
> versions should be put on the same path all together as already is
> today. Enabling adding the same extension on multiple paths doesn't seem
> right to me IMHO.
>
> Any thoughts? I'm missing something here?

Well, I don't really have a strong argument, but adding this new setting
allows
people to work with extensions differently. Having different folders for
different
versions of the same extension might be a new approach.

>
>> Adding extension location is a good idea.
>>
> This looks like a good idea to me too.
>
> Thanks for all the comments!
You are welcome :)
>
> --
> Matheus Alcantara

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2025-09-10 07:58:37 Re: Incorrect logic in XLogNeedsFlush()
Previous Message Andrei Lepikhov 2025-09-10 07:41:14 Re: Query Performance Degradation Due to Partition Scan Order – PostgreSQL v17.6