Обсуждение: pg_ctl inappropriately timing out?
Folks:
Issue: pg_ctl seems to be prematurely timing out.
Version: 8.0.3
Severity: Annoying
Description:
1. Do an immense load on a database, like 2.5gb.
2. Right after the COPY finishes, send a pg_ctl -m fast stop to the server.
3. You will get:
pg_ctl: postmaster does not shut down
What Seems To Be Happening:
When you call pg_ctl --stop, the WAL is still writing out to the database
and postmaster won't shut down until it's done, which can take a couple
minutes. In the meantime, pg_ctl is timing out and prematurely reporting
failure.
Resolution:
Not sure, really. Is there some way for pg_ctl to intelligently detect
this situation? To set a timeout value for pg_ctl via a command-line
option?
--
--Josh
Josh Berkus
Aglio Database Solutions
San Francisco
On Tue, Jun 07, 2005 at 04:16:49PM -0700, Josh Berkus wrote: > Folks: > > Issue: pg_ctl seems to be prematurely timing out. > Version: 8.0.3 > Severity: Annoying > Description: > 1. Do an immense load on a database, like 2.5gb. > 2. Right after the COPY finishes, send a pg_ctl -m fast stop to the server. > 3. You will get: > pg_ctl: postmaster does not shut down > > What Seems To Be Happening: > When you call pg_ctl --stop, the WAL is still writing out to the database > and postmaster won't shut down until it's done, which can take a couple > minutes. In the meantime, pg_ctl is timing out and prematurely reporting > failure. > > Resolution: > Not sure, really. Is there some way for pg_ctl to intelligently detect > this situation? To set a timeout value for pg_ctl via a command-line > option? Is there any way for pg_ctl to detect a "server is shutting down" message? Not sure what it'd do with it though ... -- Alvaro Herrera (<alvherre[a]surnet.cl>) "Escucha y olvidarás; ve y recordarás; haz y entenderás" (Confucio)
Alvaro Herrera <alvherre@surnet.cl> writes:
> On Tue, Jun 07, 2005 at 04:16:49PM -0700, Josh Berkus wrote:
>> When you call pg_ctl --stop, the WAL is still writing out to the database
>> and postmaster won't shut down until it's done, which can take a couple
>> minutes.
> Is there any way for pg_ctl to detect a "server is shutting down"
> message? Not sure what it'd do with it though ...
It strikes me that the server shouldn't ever get a couple minutes behind
on writing dirty buffers; this seems more like a bgwriter configuration
issue than pg_ctl's fault. Consider that in a standard Unix
configuration you will get about 20 seconds between SIGTERM and SIGKILL
when init wants to shut you down ...
regards, tom lane
Tom, > It strikes me that the server shouldn't ever get a couple minutes behind > on writing dirty buffers; this seems more like a bgwriter configuration > issue than pg_ctl's fault. Consider that in a standard Unix > configuration you will get about 20 seconds between SIGTERM and SIGKILL > when init wants to shut you down ... Well, I can run an actual timer if you like. But it's definitely more than 20 seconds. And we're using the default bgwriter config, perhaps I should set it to 0? -- Josh Berkus Aglio Database Solutions San Francisco