Re: Request for vote to move forward with recovery.conf overhaul

Michael Paquier <michael.paquier@gmail.com>

From: Michael Paquier <michael.paquier@gmail.com>
To: Simon Riggs <simon@2ndquadrant.com>
Cc: Phil Sorber <phil@omniti.com>, Bruce Momjian <bruce@momjian.us>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2013-01-23T04:49:16Z
Lists: pgsql-hackers

Attachments

On Wed, Jan 23, 2013 at 8:51 AM, Simon Riggs <simon@2ndquadrant.com> wrote:

> On 21 January 2013 23:23, Michael Paquier <michael.paquier@gmail.com>
> wrote:
>
> > It is an 17-month-old-patch, so of course it does not apply on master.
> > However before taking any actions, I would like to know the following:
> > - Simon, are you planning to update this patch?
>
> It's on my list, but not at the front to the queue.
>
> If you want to know what my priority queue looks like... (preliminary
> opinion)
> 1. Skip checkpoint on promoting from streaming replication (almost ready)
> 2. Further review of WAL decoding (opinion pending, but very solid)
> 3. Performance Improvement by reducing WAL for Update Operation (likely
> commit)
> 4. Row Level Security (possible commit)
> 5. Checksums (maybe commit)
> 6. Make recovery.conf parameters into GUCs (commit something of use,
> but very basic)
>
Thanks. It is good to know.
As you are not planning to touch the patch, I took myself the last version
of Masao and realigned it with current head.
Here is what the patch does in details:
- Move all the recovery.conf parameters in postgresql.conf
- recovery.conf is removed (no backward compatibility in this version of
the patch)
- if you want to trigger a recovery at promotion or have the recovery
parameters read on slave at startup, you need to create a file called
recovery.trigger in PGDATA. (something like "touch recovery.conf" is
enough). Once recovery is done, recovery.trigger is changed to
recovery.done.

I found in the original patch a couple of bugs, which might have been there
because things have changed a bit since 9.2 dev, especially around the
trigger file. Those bugs are fixed. I also tested this new configuration
set with several slaves, cascading slaves and even played with timeline
switches... And it worked correctly.
I found that support for pg_basebackup -R was in the old patch, and I
haven't done anything for that yet.

Hope it helps. Thanks,
-- 
Michael Paquier
http://michael.otacoo.com