are WAL file segment boundaries a point of consistency?

From: John Lumby <johnlumby(at)hotmail(dot)com>
To: pgsql general <pgsql-general(at)postgresql(dot)org>
Subject: are WAL file segment boundaries a point of consistency?
Date: 2013-09-06 20:26:11
Message-ID: BAY175-W26F6000EB93527AAC90851A33C0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

We use logshipping replication,    and have recently noticed a nasty bug
 where, in certain very rare cases, the primary archive_command program
will fail to send the WAL file to the standby but report good return code 0 to postgresql.
In such cases,  if the standby then  triggers its termination of recovery mode,
it will come up in normal accessible mode but missing the log records from that last WAL file.

This is a bug in our code which we will fix,  but I am wondering if it means there is a possibility
of worse than missing some updates.      I.e. could it result in this was-standby cluster now having
a corrupt database  (e.g. an index entry with no matching heap slot or something like that  -  or worse)?

I think the question is whether the end of a WAL file is a point of consistency?
like the timestamp you can specify in the recovery.conf for a point-in-time recovery?
Or does postgresql xlogger just chop each WAL segment at the physical page boundary?

Cheers,     John Lumby

Responses

Browse pgsql-general by date

  From Date Subject
Next Message pg noob 2013-09-06 20:54:58 select DISTINCT
Previous Message Miles Pomeroy 2013-09-06 19:14:15 Re: SQL Path in psql