pgsql: Improve corner cases in pg_ctl's new wait-for-postmaster-startup

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Improve corner cases in pg_ctl's new wait-for-postmaster-startup
Date: 2011-05-27 18:13:46
Message-ID: E1QQ1Xe-00071t-V8@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Improve corner cases in pg_ctl's new wait-for-postmaster-startup code.

With "-w -t 0", we should report "still starting up", not "ok". If we
fall out of the loop without ever being able to call PQping (because we
were never able to construct a connection string), report "no response",
not "ok". This gets rid of corner cases in which we'd claim the server
had started even though it had not.

Also, if the postmaster.pid file is not there at any point after we've
waited 5 seconds, assume the postmaster has failed and report that, rather
than almost-certainly-fruitlessly continuing to wait. The pidfile should
appear almost instantly even when there is extensive startup work to do,
so 5 seconds is already a very conservative figure. This part is per a
gripe from MauMau --- there might be better ways to do it, but nothing
simple enough to get done for 9.1.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/0bae3bc9be4a025df089f0a0c2f547fa538a97bc

Modified Files
--------------
src/bin/pg_ctl/pg_ctl.c | 19 ++++++++++++++++++-
1 files changed, 18 insertions(+), 1 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2011-05-27 21:26:35 pgsql: Drop "meaning" column from error code table
Previous Message Tom Lane 2011-05-27 16:11:34 pgsql: Preserve caller's memory context in ProcessCompletedNotifies().

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2011-05-27 18:19:25 Re: How can I check the treatment of bug fixes?
Previous Message Robert Haas 2011-05-27 18:11:29 Re: Vacuum, visibility maps and SKIP_PAGES_THRESHOLD