From: | Josh Berkus <josh(at)agliodbs(dot)com> |
---|---|
To: | Bruce Momjian <bruce(at)momjian(dot)us> |
Cc: | Simon Riggs <simon(at)2ndQuadrant(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: unite recovery.conf and postgresql.conf |
Date: | 2011-11-07 19:14:34 |
Message-ID: | 4EB82E1A.2030400@agliodbs.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> Agreed. This thread has already expended too much of our valuable time,
> in my opinion.
As I said elsewhere, I think that a modified version of Simon's proposal
gets us all what we want except code cleanliness. I'd like to hear from
Tom on that issue.
The proposal is:
1. No changes are expected to PITR mode, unless required by the other
changes below.
2. standby_mode becomes an ENUM: "off,standby,pitr". It can be reset on
server reload or through "pg_ctl promote"
3. we add a "recovery_file" filepath parameter to postgresql.conf. This
points to the location of recovery.conf, if any, but does not error
fatally if the file doesn't exist, allowing recovery.conf/.done if we
want to support it.
3.a. we continue to support recovery.conf/.done trigger file
behavior if recovery_file is set. In this case,
the recovery.conf file would contain the standby_mode GUC.
3.b. should pitr mode require recovery_file? Doesn't seem
like it.
3.c. we begin arguments on whether or not recovery_file
should be set by default
4. Haas implements SET PERSISTENT for postgresql.conf
5. pg_ctl promote uses SET PERSISTENT to change standby_mode so that
former standbys can be permanently promoted.
6. (optional) we add include_if_exists specifier for postgresql.conf,
allowing scripters to handle having a separate recovery.conf file in
other ways.
7. (optional) we add a "pg_ctl standby" command which starts up
postgres and sets standby_mode to "standby". I'm not sure I see the
value in this though.
The above allows DBAs to operate in "backwards compatibility mode"
without forcing authors of new tools and scripts to abide by it.
Question: if both standby_mode and recovery_file are set, what should
happen if the recovery_file is not present? For backwards
compatibility, we would use SET PERSISTENT to set standby_mode after the
server comes up. Arguments?
--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2011-11-07 19:34:18 | Re: unite recovery.conf and postgresql.conf |
Previous Message | Merlin Moncure | 2011-11-07 18:37:43 | Re: synchronous commit vs. hint bits |