Re: Combine pg_walinspect till_end_of_wal functions with others - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Combine pg_walinspect till_end_of_wal functions with others
Date
Msg-id ZBEXqoR1N3OgcgZ7@paquier.xyz
Whole thread Raw
In response to Re: Combine pg_walinspect till_end_of_wal functions with others  (Andres Freund <andres@anarazel.de>)
Responses Re: Combine pg_walinspect till_end_of_wal functions with others  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On Tue, Mar 14, 2023 at 02:54:40PM -0700, Andres Freund wrote:
>                      Object description
>  -----------------------------------------------------------
>   function pg_get_wal_record_info(pg_lsn)
> - function pg_get_wal_records_info(pg_lsn,pg_lsn)
>   function pg_get_wal_records_info_till_end_of_wal(pg_lsn)
> - function pg_get_wal_stats(pg_lsn,pg_lsn,boolean)
> + function pg_get_wal_records_info(pg_lsn,pg_lsn)
>   function pg_get_wal_stats_till_end_of_wal(pg_lsn,boolean)
> + function pg_get_wal_stats(pg_lsn,pg_lsn,boolean)
>  (5 rows)
>
>  -- Make sure checkpoints don't interfere with the test.
>
> Looks like it's missing an ORDER BY.

Interesting.  This is "\dx+ pg_walinspect".
listOneExtensionContents() uses pg_describe_object() for that, and
there is already an ORDER BY based on it.  I would not have expected
this part to be that much sensitive.  Is this using a specific ICU
collation, because this is a side-effect of switching ICU as the
default in initdb?

As a solution, this could use pg_identify_object(classid, objid, 0) in
the ORDER BY clause to enforce a better ordering of the objects dealt
with as it decomposes the object name and the object type.  That
should be enough, I assume, as it looks to be parenthesis vs
underscore that switch the order.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Melanie Plageman
Date:
Subject: Re: Add pg_walinspect function with block info columns
Next
From: Melanie Plageman
Date:
Subject: Re: Option to not use ringbuffer in VACUUM, using it in failsafe mode