Re: WAL Log numbering - Mailing list pgsql-bugs

From Bruce Momjian
Subject Re: WAL Log numbering
Date
Msg-id 200109220358.f8M3wv624974@candle.pha.pa.us
Whole thread Raw
In response to Re: WAL Log numbering  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Attached is a patch that changes "sequential" to "ever-increasing".

> Justin Clift <justin@postgresql.org> writes:
> > I would have though that after 00000000000000FE would be
> > 0000000000000100, not 0000000100000000.
>
> This is the intended behavior, I believe.  The low-order half is a
> 32-bit byte offset DIV XLogSegSize --- we could compress out the zero
> bits, but only at the cost of wiring an assumption about XLogSegSize
> into the filename format.  The reason that 0/FF is missing from the
> sequence is stated in xlog.h:
>
> /*
>  * We break each logical log file (xlogid value) into 16Mb segments.
>  * One possible segment at the end of each log file is wasted, to ensure
>  * that we don't have problems representing last-byte-position-plus-1.
>  */
> #define XLogSegSize    ((uint32) (16*1024*1024))
> #define XLogSegsPerFile (((uint32) 0xffffffff) / XLogSegSize)
> #define XLogFileSize    (XLogSegsPerFile * XLogSegSize)
>
> > Just checked through the Interactive docs (not sure which version of 7.1
> > they are) and says the numbers should be sequential.
>
> This would seem to be an oversimplification in the docs.
>
>             regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
Index: doc/src/sgml/wal.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/wal.sgml,v
retrieving revision 1.9
diff -c -r1.9 wal.sgml
*** doc/src/sgml/wal.sgml    2001/09/09 23:52:12    1.9
--- doc/src/sgml/wal.sgml    2001/09/22 03:58:39
***************
*** 137,143 ****
     divided into 8 kB pages. The log record headers are described in
     <filename>access/xlog.h</filename>; record content is dependent on
     the type of event that is being logged.  Segment files are given
!    sequential numbers as names, starting at
     <filename>0000000000000000</filename>.  The numbers do not wrap, at
     present, but it should take a very long time to exhaust the
     available stock of numbers.
--- 137,143 ----
     divided into 8 kB pages. The log record headers are described in
     <filename>access/xlog.h</filename>; record content is dependent on
     the type of event that is being logged.  Segment files are given
!    ever-increasing numbers as names, starting at
     <filename>0000000000000000</filename>.  The numbers do not wrap, at
     present, but it should take a very long time to exhaust the
     available stock of numbers.

pgsql-bugs by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Bug #466: Unable to remove /root/tmp/initdb:xxxx.xxx
Next
From: Justin Clift
Date:
Subject: Re: WAL Log numbering