Re: Allow some recovery parameters to be changed with reload
Fujii Masao <masao.fujii@oss.nttdata.com>
From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Sergei Kornilov <sk@zsrv.org>, Kyotaro Horiguchi
<horikyota.ntt@gmail.com>,
"a.lubennikova@postgrespro.ru" <a.lubennikova@postgrespro.ru>
Cc: "robertmhaas@gmail.com" <robertmhaas@gmail.com>,
"michael@paquier.xyz" <michael@paquier.xyz>,
"andres@anarazel.de" <andres@anarazel.de>,
"peter.eisentraut@2ndquadrant.com" <peter.eisentraut@2ndquadrant.com>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2020-11-06T16:28:49Z
Lists: pgsql-hackers
On 2020/11/06 21:36, Sergei Kornilov wrote: > Hello > >> Currently when restore_command is not set, archive recovery fails >> at the beginning. With the patch, how should we treat the case where >> retore_command is reset to empty during archive recovery? We should >> reject that change of restore_command? > > Good point. I think we should reject that change. But (AFAIC) I cannot use GUC check callback for this purpose, as only the startup process knows StandbyModeRequested. I think it would be appropriate to call validateRecoveryParameters from StartupRereadConfig. I don't think this idea is ok because emptying restore_command and the reload of configuration file could cause the server doing archive recovery to shut down with FATAL error. I'm wondering if it's safe to allow restore_command to be emptied during archive recovery. Even when it's emptied, archive recovery can proceed by reading WAL files from pg_wal directory. This is the same behavior as when restore_command is set to, e.g., /bin/false. So maybe we don't need to treat the empty restore_command so special?? OTOH, we should not remove the check of restore_command in validateRecoveryParameters(). Otherwise, when users forget to specify restore_command when starting archive recovery, recovery could wrongly proceed and the database could get corrupted. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION
Commits
-
Allow restore_command parameter to be changed with reload.
- 942305a36365 14.0 landed
-
Stamp 13.0.
- 29be9983a64c 13.0 cited
-
Allow some recovery parameters to be changed with reload
- 13b89f96d07a 12.0 landed