pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Justin Pryzby <pryzby@telsasoft.com>
To: Nitin Jadhav <nitinjadhavpostgres@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: Andres Freund <andres@anarazel.de>
Cc: Stephen Frost <sfrost@snowman.net>
Cc: Magnus Hagander <magnus@hagander.net>
Cc: Thomas Munro <thomas.munro@gmail.com>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Subject: Re: when the startup process doesn't
Date: Thu, 10 Jun 2021 05:01:25 -0500
Message-ID: <20210610100125.GE16435@telsasoft.com> (raw)
In-Reply-To: <CAMm1aWZNkm0nbVzAsiqnNSpgRT3N0HjT_b30AmjsVLDzjHTgFA@mail.gmail.com>
References: <20210421183624.GP20766@tamriel.snowman.net>
	<20210421193605.cubavrq7q5bqkf4i@alap3.anarazel.de>
	<20210422010919.4b655015@firost>
	<CAMm1aWYAjwui2OrY6TSvVF8N9YLdRdnO5BUS-t5GDR60X1FanQ@mail.gmail.com>
	<20210606222305.GZ14099@telsasoft.com>
	<CA+TgmoaG+FzfoWi3dkvZM48256vmE0CZnppgGjq6EiPw=f4OpQ@mail.gmail.com>
	<867286.1623073349@sss.pgh.pa.us>
	<CAMm1aWacYkDD5cGyhNYD_nqjD94vxSTPA_1UZdO+Em94POTgyw@mail.gmail.com>
	<20210609161918.GY16435@telsasoft.com>
	<CAMm1aWZNkm0nbVzAsiqnNSpgRT3N0HjT_b30AmjsVLDzjHTgFA@mail.gmail.com>

On Thu, Jun 10, 2021 at 03:19:20PM +0530, Nitin Jadhav wrote:
> > > > +               {"log_min_duration_startup_process", PGC_SUSET, LOGGING_WHEN,
> > > >
> > > > I think it should be PGC_SIGHUP, to allow changing it during runtime.
> > > > Obviously it has no effect except during startup, but the change will be
> > > > effective if the current process crashes.
> > > > See also: https://www.postgresql.org/message-id/20210526001359.GE3676@telsasoft.com
> > >
> > > I did not get exactly how it will change behaviour. In my
> > > understanding, when the server restarts after a crash, it fetches the
> > > value from the config file. So if there is any change that gets
> > > affected. Kindly correct me if I am wrong.
> 
> Sorry my understanding was wrong. But I'm not completely convinced
> with the above description saying that the change will be effective if
> the current process crashes.
> AFAIK, whenever we set the GucContext less than PGC_SIGHUP (that is
> either PGC_POSTMASTER or PGC_INTERNAL) then any change in the config
> file will not get affected during restart after crash. If the
> GucContext is greater than or equal to PGC_SIGHUP, then any change in
> the config file will be changed once it receives the SIGHUP signal. So
> it gets affected by a restart after a crash. So since the GucContext
> set here is PGC_SUSET which is greater than PGC_SIGHUP, there is no
> change in the behaviour wrt this point.

Since you agreed that SUSET was wrong, and PGC_POSTMASTER doesn't allow
changing the value without restart, doesn't it follow that SIGHUP is what's
wanted ?

> > I've triple checked the behavior using a patch I submitted for Thomas' syncfs
> > feature.  ALTER SYSTEM recovery_init_sync_method=syncfs was not picked up when
> > I sent SIGABRT.  But with my patch, if I also do SELECT pg_reload_conf(), then
> > a future crash uses syncfs.
> > https://www.postgresql.org/message-id/20210526001359.GE3676@telsasoft.com
> 
> The difference is since the behaviour is compared between
> PGC_POSTMASTER and PGC_SIGHUP.
> 
> > The GUC definitely isn't SUSET, since it's not useful to write in a (super)
> > user session SET log_min_duration_startup_process=123.
> I agree with this. I may have to change this value as setting in a
> user session is not at all useful. But I am confused between
> PGC_POSTMASTER and PGC_SIGHUP. We should use PGC_SIGHUP if we would
> like to allow the change during restart after a crash. Otherwise
> PGC_POSTMASTER would be sufficient. Kindly share your thoughts.
> 
> Thanks & Regards,
> Nitin Jadhav
> 
> On Wed, Jun 9, 2021 at 9:49 PM Justin Pryzby <pryzby@telsasoft.com> wrote:
> >
> > On Wed, Jun 09, 2021 at 05:09:54PM +0530, Nitin Jadhav wrote:
> > > > +               {"log_min_duration_startup_process", PGC_SUSET, LOGGING_WHEN,
> > > >
> > > > I think it should be PGC_SIGHUP, to allow changing it during runtime.
> > > > Obviously it has no effect except during startup, but the change will be
> > > > effective if the current process crashes.
> > > > See also: https://www.postgresql.org/message-id/20210526001359.GE3676@telsasoft.com
> > >
> > > I did not get exactly how it will change behaviour. In my
> > > understanding, when the server restarts after a crash, it fetches the
> > > value from the config file. So if there is any change that gets
> > > affected. Kindly correct me if I am wrong.
> >
> > I don't think so.  I checked and SelectConfigFiles is called only once to read
> > config files and cmdline args.  And not called on restart_after_crash.
> >
> > The GUC definitely isn't SUSET, since it's not useful to write in a (super)
> > user session SET log_min_duration_startup_process=123.
> >
> > I've triple checked the behavior using a patch I submitted for Thomas' syncfs
> > feature.  ALTER SYSTEM recovery_init_sync_method=syncfs was not picked up when
> > I sent SIGABRT.  But with my patch, if I also do SELECT pg_reload_conf(), then
> > a future crash uses syncfs.
> > https://www.postgresql.org/message-id/20210526001359.GE3676@telsasoft.com





view thread (38+ messages)  latest in thread

Message-ID: <20210610100125.GE16435@telsasoft.com>
Permalink:  ../20210610100125.GE16435@telsasoft.com/
Also on:    postgresql.org/message-id/20210610100125.GE16435@telsasoft.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: pryzby@telsasoft.com, nitinjadhavpostgres@gmail.com, tgl@sss.pgh.pa.us, robertmhaas@gmail.com, andres@anarazel.de, sfrost@snowman.net, magnus@hagander.net, thomas.munro@gmail.com
  Subject: Re: when the startup process doesn't
  In-Reply-To: <20210610100125.GE16435@telsasoft.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox