Re: Re: Clarifying "server starting" messaging in pg_ctl start without --wait

From: Stephen Frost <sfrost(at)snowman(dot)net>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, Ryan Murphy <ryanfmurphy(at)gmail(dot)com>, Beena Emerson <memissemerson(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Re: Clarifying "server starting" messaging in pg_ctl start without --wait
Date: 2017-01-17 21:46:59
Message-ID: 20170117214659.GK18360@tamriel.snowman.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

* Robert Haas (robertmhaas(at)gmail(dot)com) wrote:
> On Tue, Jan 17, 2017 at 11:27 AM, Peter Eisentraut
> <peter(dot)eisentraut(at)2ndquadrant(dot)com> wrote:
> > On 1/15/17 11:40 PM, Fujii Masao wrote:
> >> This change may confuse the users who run "pg_ctl start" to perform a crash
> >> recovery, archive recovery and standby server (with hot_standby=off) because
> >> "pg_ctl start" would not return so long time.
> >
> > Well, this change was made because the previous behavior confused people
> > as well, because pg_ctl would return before it was actually done.
> >
> > The new state shouldn't be confusing because pg_ctl prints out progress
> > messages.
>
> But what if we're restarting after, say, rebooting? Then there's
> nobody to see the progress messages, perhaps. The system just seems
> to take an eternity to return to the usual runlevel.

Not unlike an fsck.

> I saw the discussion on this thread, but I didn't realize that it
> meant that pg_ctl was going to wait for crash recovery, let alone
> archive recovery. That seems not good.

I disagree. The database isn't done starting up until it's gone through
recovery. If there are other bits of the system which are depending on
the database being online, shouldn't they wait until it's actually
online to be started?

Admittedly, such processes should probably be prepared to try
reconnecting to the database on a failure, but I don't see this as
really all that different from how a journaling filesystem operates.
Now, perhaps the init process needs to be adjusted so that the progress
reports from pg_ctl are seen by the user, but that's outside of PG.

Thanks!

Stephen

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2017-01-17 21:51:10 Re: pg_authid.rolpassword format (was Re: Password identifiers, protocol aging and SCRAM protocol)
Previous Message Robert Haas 2017-01-17 21:43:16 Re: Logical Replication WIP