Hi Alvaro,


On Tue, 27 Jul 2021 at 22:17, Alvaro Herrera <alvhe...@alvh.no-ip.org>
wrote:

> I tested this -- it works correctly AFAICS.
>

Nope, IMO it doesn't work correctly.
Lets say we have recovery_target = '' in the config:
localhost/postgres=# select name, setting, setting is null, pending_restart
from pg_settings where name = 'recovery_target';
     name       │ setting │ ?column? │ pending_restart
─────────────────┼─────────┼──────────┼─────────────────
recovery_target │         │ f        │ f
(1 row)


After that we remove it from the config and call pg_ctl reload. It sets the
panding_restart.
localhost/postgres=# select name, setting, setting is null, pending_restart
from pg_settings where name = 'recovery_target';
     name       │ setting │ ?column? │ pending_restart
─────────────────┼─────────┼──────────┼─────────────────
recovery_target │         │ f        │ t
(1 row)

IMO is totally wrong, because the actual value didn't change: it was an
empty string in the config and now it remains an empty string due to the
default value in the guc.c

Regards,
--
Alexander Kukushkin

Reply via email to