Re: InvalidXLogRecPtr in docs
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Robert Haas <robertmhaas@gmail.com>, Takahiro Itagaki <itagaki.takahiro@oss.ntt.co.jp>, pgsql-hackers@postgresql.org
Date: 2010-06-10T07:07:13Z
Lists: pgsql-hackers
On 10/06/10 09:42, Fujii Masao wrote: > On Thu, Jun 10, 2010 at 11:56 AM, Tom Lane<tgl@sss.pgh.pa.us> wrote: >> Robert Haas<robertmhaas@gmail.com> writes: >>> On Wed, Jun 9, 2010 at 9:46 PM, Takahiro Itagaki >>> <itagaki.takahiro@oss.ntt.co.jp> wrote: >>>> I found a term "InvalidXLogRecPtr" in 9.0 docs. >>>> http://developer.postgresql.org/pgdocs/postgres/functions-admin.html#FUNCTIONS-RECOVERY-INFO-TABLE >>>> | ... then the return value will be InvalidXLogRecPtr (0/0). >> >>> Maybe we should be returning NULL instead of 0/0. >> >> +1 for using NULL instead of an artificially chosen value, for both of >> those functions. > > Okay, the attached patch makes those functions return NULL in that case. Ah, I just committed a patch to do the same, before seeing your email. Thanks anyway. BTW, the docs claim about pg_last_xlog_location() that "While streaming replication is in progress this will increase monotonically." That's a bit misleading: when the replication connection is broken for some reason and we restart it, we begin streaming from the beginning of the last WAL segment. So at that moment, pg_last_xlog_location() moves backwards to the beginning of the WAL segment. Should we: 1. Just document that, 2. Change pg_last_xlog_location() to not move backwards in that case, or 3. Change the behavior so that we start streaming at the exact byte location where we left off? I believe that starting from the beginning of the WAL segment is just paranoia, to avoid creating a WAL file that's missing some data from the beginning. Right? -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com