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

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: Phil Sorber <phil(at)omniti(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Request for vote to move forward with recovery.conf overhaul
Date: 2013-01-23 04:49:16
Message-ID: CAB7nPqRYKVYDy=8FZQ4D5mr4UKCQGQx0haY5gpKLFG9rxMfiXQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

> On 21 January 2013 23:23, Michael Paquier <michael(dot)paquier(at)gmail(dot)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

Attachment Content-Type Size
20130123_recovery_unite.patch application/octet-stream 81.2 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2013-01-23 04:54:07 Re: Request for vote to move forward with recovery.conf overhaul
Previous Message Noah Misch 2013-01-23 04:35:41 Re: lazy_vacuum_heap()'s removal of HEAPTUPLE_DEAD tuples