Re: pg_walfile_name uses XLByteToPrevSeg - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: pg_walfile_name uses XLByteToPrevSeg
Date
Msg-id 20220204225057.GA1535307@nathanxps13
Whole thread Raw
In response to Re: pg_walfile_name uses XLByteToPrevSeg  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: pg_walfile_name uses XLByteToPrevSeg
List pgsql-hackers
On Fri, Feb 04, 2022 at 09:17:54AM -0500, Robert Haas wrote:
> On Fri, Feb 4, 2022 at 9:05 AM Ashutosh Bapat
> <ashutosh.bapat.oss@gmail.com> wrote:
>> And it gives some surprising results as well
>> ---
>> #select pg_walfile_name('0/0'::pg_lsn);
>>      pg_walfile_name
>> --------------------------
>>  00000001FFFFFFFF000000FF
>> (1 row)
>> ----
> 
> Yeah, that seems wrong.

It looks like it's been this way for a while (704ddaa).
pg_walfile_name_offset() has the following comment:

 * Note that a location exactly at a segment boundary is taken to be in
 * the previous segment.  This is usually the right thing, since the
 * expected usage is to determine which xlog file(s) are ready to archive.

I see a couple of discussions about this as well [0] [1].

[0] https://www.postgresql.org/message-id/flat/1154384790.3226.21.camel%40localhost.localdomain
[1] https://www.postgresql.org/message-id/flat/15952.1154827205%40sss.pgh.pa.us

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com



pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations
Next
From: John Naylor
Date:
Subject: Re: do only critical work during single-user vacuum?