Tom Lane wrote:
> I wrote:
> > Heikki Linnakangas <[EMAIL PROTECTED]> writes:
> >> statement_timeout interrupts seem to go through the PG_CATCH-block and 
> >> clean up the entry from the vacuum cycle array as they should. But a 
> >> SIGINT leading to a "terminating connection due to administrator 
> >> command" error does not.
> 
> > Hm, that's an interesting thought, but there are no "terminating
> > connection" messages in Shuttleworth's logs either.  So we still lack
> > the right idea there.  (BTW it would be SIGTERM not SIGINT.)
> 
> Hold it ... stop the presses ... the reason we saw no "terminating
> connection" messages was he was grepping his logs for lines containing
> ERROR.  Once we look for FATAL too, there are a pile of 'em.  I'm not
> 100% convinced that any are from autovacuum processes, but clearly
> *something* is throwing SIGTERM around with abandon in his test
> environment.  So at this point your theory above looks like a plausible
> mechanism for the vacuum cycle array to slowly fill up and eventually
> make _bt_start_vacuum fail (or, perhaps, fail sooner than that due to
> a repeat vacuum attempt).

Hmmm, remember that DatabaseCancelAutovacuumActivity is called on CREATE
DATABASE; but what it does is send SIGINT, not SIGTERM.  Also, it's not
in 8.2.  SIGINT does terminate the autovac process however.

I haven't read the whole problem report completely, so I'm not sure this
has something to do or not.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to