From: Mischa Sandberg <mischa_sandberg@telus.net>
To: pgsql-admin@postgresql.org
Subject: Re: Reliably determining whether the server came up
Date: Tue, 18 Nov 2008 08:47:24 -0800
Message-ID: <1227026844.4922f19ce4c77@legacywebmail.telus.net> (raw)
In-Reply-To: <20048.1227023982@sss.pgh.pa.us>
References: <1226527535.491b532f4c45e@legacywebmail.telus.net>
<491F1861.4060403@reedyriver.com>
<1226780945.491f3111e22de@legacywebmail.telus.net>
<1226781115.22056.1.camel@jd-laptop.pragmaticzealot.org>
<49200BD8.4060703@reedyriver.com>
<1226989027.49225de368848@legacywebmail.telus.net>
<20048.1227023982@sss.pgh.pa.us>
Quoting Tom Lane <tgl@sss.pgh.pa.us>:
> Mischa Sandberg <mischa_sandberg@telus.net> writes:
> > Perhaps it's my "test for DB ready" that's the problem?
>
> > + while pg_ctl status && ! psql -l; do sleep 1; done >/dev/null
> 2>&1
>
> I'd bet that the pg_ctl status part is failing. I get exit status 1
> from it if there's no server running.
Yes, that was part of the problem with the original startup script;
postmaster hadn't even gotten as far as writing postmaster.pid,
I guess. But pg_ctl status returning 1 could also mean that that the
server had come up, hit a critical problem and exited. Hence my problem;
this has to detect server failure, reliably, as well.
BTW the example with (start,status,psql,createlang) failing just
happened, to my surprise, on my dev box -- fairly fast and lightly
loaded. On loaded, unattended systems, it happened consistently.
............
In another vein, another place where there are consistent
failures is in the sequence:
createlang ... -d template1 plpgsql
createdb $PGDATABASE
<app>
The failure can happen on createdb ("template1 is busy")
or on <app>; and most frequently on the systems with overloaded disks.
My hacky response is to separate those steps with:
psql -qc checkpoint template1
which consistently makes the problem go away; but what is
the problem, exactly, that this is tripping over??
Anyway, thanks for the comments.
--
Engineers think that equations approximate reality.
Physicists think that reality approximates the equations.
Mathematicians never make the connection.
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-admin@postgresql.org
Cc: mischa_sandberg@telus.net
Subject: Re: Reliably determining whether the server came up
In-Reply-To: <1227026844.4922f19ce4c77@legacywebmail.telus.net>
* 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