Re: Reducing power consumption on idle servers

Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>

From: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Simon Riggs <simon.riggs@enterprisedb.com>, Robert Haas <robertmhaas@gmail.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, Andres Freund <andres@anarazel.de>, Zheng Li <zhengli10@gmail.com>, Jim Nasby <nasbyj@amazon.com>, Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2022-11-21T06:50:57Z
Lists: pgsql-hackers
On Mon, Nov 21, 2022 at 2:43 AM Thomas Munro <thomas.munro@gmail.com> wrote:
>
> On Mon, Nov 21, 2022 at 3:35 AM Simon Riggs
> <simon.riggs@enterprisedb.com> wrote:
> > On Sat, 19 Nov 2022 at 10:59, Simon Riggs <simon.riggs@enterprisedb.com> wrote:
> > > New version attached.
> >
> > Fix for doc xref
>
> I removed a stray variable declaration from xlogrecovery.h, and wrote
> a draft commit message.  I'll wait 24 hours before committing, to
> provide a last chance for anyone who wants to complain about dropping
> promote_trigger_file.
>
> (We could of course change it so that the timeout based wakeup only
> happens if you have actually set promote_trigger_file, but I think
> we've established that we just don't want the filesystem polling
> feature so I'm whispering this in parentheses.)

Thanks. The v11 patch mostly looks good to me and it passes cirrus-ci
tests - https://github.com/BRupireddy/postgres/tree/do_away_with_promote_trigger_file.

I have a comment:

-                     * Wait for more WAL to arrive. Time out after 5 seconds
-                     * to react to a trigger file promptly and to check if the
-                     * WAL receiver is still active.
+                     * Wait for more WAL to arrive, when we will be woken
+                     * immediately by the WAL receiver. Use of trigger file
+                     * via promote_trigger_file is now fully removed.
                      */
Do we need to introduce reference to removal of promote_trigger_file
in the code? If left as-is, it'll lie there for many years. Isn't it
enough to specify in appendix-obsolete-recovery-config.sgml?

--
Bharath Rupireddy
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com



Commits

  1. Remove promote_trigger_file.

  2. Add pg_promote function

  3. pg_ctl promote