Re: pg_settings.pending_restart not set when line removed
От | Alexander Kukushkin |
---|---|
Тема | Re: pg_settings.pending_restart not set when line removed |
Дата | |
Msg-id | CAFh8B=k==4VjEDHv0RFCL40+CN5rC686yTM2eOboEyAWK9hM9A@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: pg_settings.pending_restart not set when line removed (Alvaro Herrera <alvherre@alvh.no-ip.org>) |
Ответы |
Re: pg_settings.pending_restart not set when line removed
|
Список | pgsql-hackers |
Hi Alvaro,
On Tue, 27 Jul 2021 at 22:17, Alvaro Herrera <alvherre@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)
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)
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
В списке pgsql-hackers по дате отправления: