Re: Reliably determining whether the server came up

Поиск
Список
Период
Сортировка
От Mischa Sandberg
Тема Re: Reliably determining whether the server came up
Дата
Msg-id 1226986724.492254e42cda7@legacywebmail.telus.net
обсуждение исходный текст
Ответ на Reliably determining whether the server came up  (Mischa Sandberg <mischa_sandberg@telus.net>)
Список pgsql-admin
Comment below:

Joshua D. Drake wrote:
> On Sat, 2008-11-15 at 12:29 -0800, Mischa Sandberg wrote:
>> Quoting "H. Hall" <hhall1001@reedyriver.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.


В списке pgsql-admin по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: restore failure
Следующее
От: Mischa Sandberg
Дата:
Сообщение: Re: Reliably determining whether the server came up