Re: InvalidXLogRecPtr in docs

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Takahiro Itagaki <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: InvalidXLogRecPtr in docs
Date: 2010-06-10 07:07:13
Message-ID: 4C108F21.2040204@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 10/06/10 09:42, Fujii Masao wrote:
> On Thu, Jun 10, 2010 at 11:56 AM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Robert Haas<robertmhaas(at)gmail(dot)com> writes:
>>> On Wed, Jun 9, 2010 at 9:46 PM, Takahiro Itagaki
>>> <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2010-06-10 07:18:08 Re: Command to prune archive at restartpoints
Previous Message Heikki Linnakangas 2010-06-10 07:00:46 Re: InvalidXLogRecPtr in docs