From: | Mischa Sandberg <mischa_sandberg(at)telus(dot)net> |
---|---|
To: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: Reliably determining whether the server came up |
Date: | 2008-11-18 05:38:44 |
Message-ID: | 1226986724.492254e42cda7@legacywebmail.telus.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Comment below:
Joshua D. Drake wrote:
> On Sat, 2008-11-15 at 12:29 -0800, Mischa Sandberg wrote:
>> Quoting "H. Hall" <hhall1001(at)reedyriver(dot)com>:
>>> Mischa Sandberg wrote:
>>>
>>>> I've been trying to work out a reliable script to determine,
>>>> after pg_ctl start, that the server is done attempting
>>>> to come up, and that it has either succeeded OR FAILED.
>>>> This is for several hundred unattended appliance-type servers,
>>>> currently on PG 8.0 but soon to be on 8.3
>>>>
>>> Why don't you try to create a connection to a db on each server?
>> Thanks, but that only tells me if the server is up at the time of trying
>> to connect.
>
> Actually it doesn't. If you are using any standard library to connect if
> the server is not ready to accept connections, it will tell you when you
> connect. If the server failed to come up, you won't get a connection at
> all, if you try to connect and you are able to connect but not initiate
> a session and appropriate response will be sent.
> Joshua D. Drake
Exactly. :-)
Also, once you take a look at your solution code a light bulb may go
off. Hey! This code could also be used to test the health of my db
servers during production! If I just execute it in a timer thread . . .
Hmmm.
--cheers, HH
--
H. Hall
ReedyRiver Group LLC
www.reedyriver.com
Well, I'll look further at it. I originally did start with
while pg_ctl status && ! psql -l; do nothing; done
The cases I've had to catch include:
- startup so slow that postmaster.pid has still not been created when
the first pg_ctl status exits, returning 'no server'.
- a pg_xlog drive going sour (some low-end hardware is, well, crap),
so pg_ctl status says server is up but connects get
'FATAL: the database system is shutting down' forever.
... and I'm guessing that other server failure states will produce
other messages (with FATAL not always meaning real fatality).
--
Engineers think that equations approximate reality.
Physicists think that reality approximates the equations.
Mathematicians never make the connection.
From | Date | Subject | |
---|---|---|---|
Next Message | Mischa Sandberg | 2008-11-18 06:17:07 | Re: Reliably determining whether the server came up |
Previous Message | Tom Lane | 2008-11-17 17:47:05 | Re: restore failure |