On 06/09/2016 02:33 PM, Michael Paquier wrote:
> On Wed, May 25, 2016 at 1:32 AM, Michael Paquier
> <michael.paquier@gmail.com> wrote:
>> On Tue, May 24, 2016 at 9:29 AM, Alvaro Herrera
>> <alvherre@2ndquadrant.com> wrote:
>>> Christoph Berg wrote:
>>>> Re: Michael Paquier 2016-05-24 <CAB7nPqQRXsC8=ozh6GpjLnpZ=MeooUZOaAbzx28n2bjSMv2B4g@mail.gmail.com>
>>>>> Yeah, that's really something that covers only a narrow case, though
>>>>> if we don't have it when we need it we're limited to some hacks.
>>>>> Perhaps people who have the advanced level to use such a thing have
>>>>> the level to use hacks anyway..
>>>>
>>>> I'd think recovery_target_lsn would be more useful in practice than
>>>> the existing recovery_target_xid. So I don't see why it shouldn't just
>>>> be added, also given it's likely very unobtrusive to do so.
>>>
>>> Also, see
>>> http://www.postgresql.org/message-id/56BD0E4E.5050503@2ndquadrant.com
>>
>> Looking at xlog.c it is not that complicated, and we could add tests
>> in 003_recovery_targets.pl at the same time. Perhaps somebody looking
>> for a first participation would be interested in this small project?
>
> Oh, well. I have implemented it as attached by introducing
> recovery_target_lsn as a new recovery parameter. This takes into
> account recovery_target_inclusive and stops at the precise point of a
> record without being influenced by the xact records, in a way similar
> recovery_target_name. Tests and documentation are added, and this is
> part of the next CF.
>
>
>
>
Hi,
I reviewed this patch rebased to deal with
f6ced51f9188ad5806219471a0b40a91dde923aa, and minor adjustment (see below)
It do the job. However if you use an incorrect recovery_target_lsn you
get this message :
"FATAL: invalid input syntax for type pg_lsn: "0RT5/4""
I added a PG_TRY/PG_CATCH section in order to get a more explicit message :
FATAL: wrong recovery_target_lsn (must be pg_lsn type)
I am not sure if it is the best solution?
Thanks to Julien Rouhaud for his help.
--
Adrien NAYRAT
http://dalibo.com - http://dalibo.org