Thread: Re: Adding extension default version to \dx

Re: Adding extension default version to \dx

From
Nathan Bossart
Date:
On Fri, Jan 10, 2025 at 03:56:31PM +0100, Michael Banck wrote:
> On Fri, Jan 10, 2025 at 01:04:14PM +0100, Magnus Hagander wrote:
>> In an effort to make at least a couple of more people realize they have to
>> run ALTER EXTENSION UPDATE after they've upgraded an extension,  as well as
>> make it a bit easier to realize when you have to do it, I propose we add
>> the default version of an extension to \dx in psql
> 
> +1, I think this is useful.

+1

>> diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
>> index d5543fd62b0..319ad15d4de 100644
>> --- a/src/bin/psql/describe.c
>> +++ b/src/bin/psql/describe.c
>> @@ -6107,13 +6107,16 @@ listExtensions(const char *pattern)
>>      initPQExpBuffer(&buf);
>>      printfPQExpBuffer(&buf,
>>                        "SELECT e.extname AS \"%s\", "
>> -                      "e.extversion AS \"%s\", n.nspname AS \"%s\", c.description AS \"%s\"\n"
>> +                      "e.extversion AS \"%s\", ae.default_version AS \"%s\","
>> +                      "n.nspname AS \"%s\", c.description AS \"%s\"\n"
>>                        "FROM pg_catalog.pg_extension e "
>>                        "LEFT JOIN pg_catalog.pg_namespace n ON n.oid = e.extnamespace "
>>                        "LEFT JOIN pg_catalog.pg_description c ON c.objoid = e.oid "
> 
> Not really part of your patch, but "pg_catalog.pg_description c" looks
> weird/might be a typo? It is "pg_catalog.pg_description d" everywhere
> else AFAICT. So maybe this could be fixed/changed in passing?

Yeah, "c" seems to ordinarily be used for pg_class, so +1 for changing it
to "d".

>> +                      "LEFT JOIN pg_catalog.pg_available_extensions() ae(name, default_version, comment)  ON
ae.name=e.extname"
 
>>                        "AND c.classoid = 'pg_catalog.pg_extension'::pg_catalog.regclass\n",
>>                        gettext_noop("Name"),
>>                        gettext_noop("Version"),
>> +                      gettext_noop("Default version"),
> 
> pg_available_extensions has "installed_version" and "default_version", I
> wonder whether it would make sense to harmonize that and change
> "Version" to "Installed version" as well when we change the output
> anyway?

+1

Separately, I see that there's one update needed for
src/test/regress/expected/psql.out.  The documentation for \dx looks
generic enough that it probably doesn't need any updates, though.

-- 
nathan



Re: Adding extension default version to \dx

From
"Jelte Fennema-Nio"
Date:
On Mon Jan 27, 2025 at 8:39 PM CET, Nathan Bossart wrote:
> +1
>
> Separately, I see that there's one update needed for
> src/test/regress/expected/psql.out.  The documentation for \dx looks
> generic enough that it probably doesn't need any updates, though.

Attached is an updated patch that fixes the tests and changes the
whitespace as discussed (including removing a spurious second space
before the ON, which I noticed while changing it). As well as a seprate
patch that changes the "c" alias to "d".

Attachment

Re: Adding extension default version to \dx

From
"Jelte Fennema-Nio"
Date:
On Sun Feb 23, 2025 at 3:51 PM CET, Jelte Fennema-Nio wrote:
> Attached is an updated patch that fixes the tests and changes the
> whitespace as discussed (including removing a spurious second space
> before the ON, which I noticed while changing it). As well as a seprate
> patch that changes the "c" alias to "d".

Ugh, I forgot to commit a few additional lines in the second patch.
Fixed now.

Attachment

Re: Adding extension default version to \dx

From
Nathan Bossart
Date:
On Sun, Feb 23, 2025 at 04:05:34PM +0100, Jelte Fennema-Nio wrote:
> On Sun Feb 23, 2025 at 3:51 PM CET, Jelte Fennema-Nio wrote:
>> Attached is an updated patch that fixes the tests and changes the
>> whitespace as discussed (including removing a spurious second space
>> before the ON, which I noticed while changing it). As well as a seprate
>> patch that changes the "c" alias to "d".
> 
> Ugh, I forgot to commit a few additional lines in the second patch.
> Fixed now.

Thanks, Jelte.  I can take care of committing this if Magnus can't get to
it soon.

-- 
nathan



Re: Adding extension default version to \dx

From
Magnus Hagander
Date:


On Tue, Feb 25, 2025 at 4:40 PM Nathan Bossart <nathandbossart@gmail.com> wrote:
On Sun, Feb 23, 2025 at 04:05:34PM +0100, Jelte Fennema-Nio wrote:
> On Sun Feb 23, 2025 at 3:51 PM CET, Jelte Fennema-Nio wrote:
>> Attached is an updated patch that fixes the tests and changes the
>> whitespace as discussed (including removing a spurious second space
>> before the ON, which I noticed while changing it). As well as a seprate
>> patch that changes the "c" alias to "d".
>
> Ugh, I forgot to commit a few additional lines in the second patch.
> Fixed now.

Thanks, Jelte.  I can take care of committing this if Magnus can't get to
it soon.

Hi!

Thanks goes to  both you and the previous responders - I did manage to mute this thread away and missed the early replies, but got Jeltes the other day which brought it back up on my list to get to within the Not Too Long Future (TM).
 
--

Re: Adding extension default version to \dx

From
Nathan Bossart
Date:
On Tue, Feb 25, 2025 at 04:42:37PM +0100, Magnus Hagander wrote:
> Thanks goes to  both you and the previous responders - I did manage to mute
> this thread away and missed the early replies, but got Jeltes the other day
> which brought it back up on my list to get to within the Not Too Long
> Future (TM).

Got it, sounds good.

-- 
nathan