public inbox for [email protected]  
help / color / mirror / Atom feed
From: Michael Paquier <[email protected]>
To: Vignesh Raghunathan <[email protected]>
Cc: [email protected]
Subject: Re: Possible mistake in Section 63.6 - 9.6devel Documentation
Date: Tue, 21 Jul 2015 09:59:30 +0900
Message-ID: <CAB7nPqSV1kR6FqWf2rOVter5cXAW8oTH+DKZjwP4Meji5do5wg@mail.gmail.com> (raw)
In-Reply-To: <CAD_AmVgk899Ld2=YTg=7qcOAs5OE4BL1sQ+ZR+N7LDT9MrS8Aw@mail.gmail.com>
References: <CAD_AmVgk899Ld2=YTg=7qcOAs5OE4BL1sQ+ZR+N7LDT9MrS8Aw@mail.gmail.com>
List-Unsubscribe: <mailto:[email protected]?body=unsub%20pgsql-docs>

On Tue, Jul 21, 2015 at 6:54 AM, Vignesh Raghunathan
<[email protected]> wrote:
> Hello,
>
> It has been mentioned in Section 63.6 that the first two fields in
> PageHeaderData track the most recent WAL entry related to the page. However,
> I am not sure how pd_checksum is related to WAL. Could it be possible that
> the sentence has been carried over from previous versions of the
> documentations without considering the change to the second field in
> PageHeaderData?

Yes, the documentation is mistaken. The two bytes of pd_tli have been
switched to pd_checksum in 9.3, hence only the first field is relevant
for WAL, aka pd_lsn. Looking at this portion of the docs I think that
it should be updated as attached, mentioning pd_checksum as well.
-- 
Michael


-- 
Sent via pgsql-docs mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs


Attachments:

  [text/x-patch] 20150721_pageheader_docfix.patch (2.0K, 2-20150721_pageheader_docfix.patch)
  download | inline diff:
diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml
index e5b7b4b..073fe2b 100644
--- a/doc/src/sgml/storage.sgml
+++ b/doc/src/sgml/storage.sgml
@@ -758,18 +758,18 @@ data. Empty in ordinary tables.</entry>
  <para>
 
   The first 24 bytes of each page consists of a page header
-  (PageHeaderData). Its format is detailed in <xref
-  linkend="pageheaderdata-table">. The first two fields track the most
-  recent WAL entry related to this page. Next is a 2-byte field
-  containing flag bits. This is followed by three 2-byte integer fields
-  (<structfield>pd_lower</structfield>, <structfield>pd_upper</structfield>,
-  and <structfield>pd_special</structfield>). These contain byte offsets
-  from the page start to the start
-  of unallocated space, to the end of unallocated space, and to the start of
-  the special space.
-  The next 2 bytes of the page header,
-  <structfield>pd_pagesize_version</structfield>, store both the page size
-  and a version indicator.  Beginning with
+  (<structname>PageHeaderData</>). Its format is detailed in <xref
+  linkend="pageheaderdata-table">. The first field tracks the most
+  recent WAL entry related to this page. The second field contains
+  the page checksum if <xref linkend="app-initdb-data-checksums"> are
+  enabled.  Next is a 2-byte field containing flag bits. This is followed
+  by three 2-byte integer fields (<structfield>pd_lower</structfield>,
+  <structfield>pd_upper</structfield>, and
+  <structfield>pd_special</structfield>).  These contain byte offsets
+  from the page start to the start of unallocated space, to the end of
+  unallocated space, and to the start of the special space.  The next 2
+  bytes of the page header, <structfield>pd_pagesize_version</structfield>,
+  store both the page size and a version indicator.  Beginning with
   <productname>PostgreSQL</productname> 8.3 the version number is 4;
   <productname>PostgreSQL</productname> 8.1 and 8.2 used version number 3;
   <productname>PostgreSQL</productname> 8.0 used version number 2;


view thread (5+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: Possible mistake in Section 63.6 - 9.6devel Documentation
  In-Reply-To: <CAB7nPqSV1kR6FqWf2rOVter5cXAW8oTH+DKZjwP4Meji5do5wg@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox