Re: patch for pg_autovacuum 8.0.x prevent segv for dropped tables - Mailing list pgsql-patches

From Tom Lane
Subject Re: patch for pg_autovacuum 8.0.x prevent segv for dropped tables
Date
Msg-id 11485.1129825827@sss.pgh.pa.us
Whole thread Raw
In response to Re: patch for pg_autovacuum 8.0.x prevent segv for dropped  ("Matthew T. O'Connor" <matthew@zeut.net>)
Responses Re: patch for pg_autovacuum 8.0.x prevent segv for dropped tables  (daveg <daveg@sonic.net>)
List pgsql-patches
"Matthew T. O'Connor" <matthew@zeut.net> writes:
> Tom Lane wrote:
>> Surely this is completely broken?  AFAICT you are testing the result
>> from a VACUUM or ANALYZE command, which is not going to return any
>> tuples.

> Upon further inspection, I think you are right.  I would think that
> instead of checking the query result with PQntuples, it should probably
> be checked with |PQresultStatus.

ISTM this is the wrong place to test at all.  I put a PQntuples check
into update_table_thresholds() instead, which seems a far more direct
defense against trouble.  (Consider eg the case where someone drops the
table just after your VACUUM completes successfully.  Also there are
drop/rename scenarios to think about: success of the VACUUM proves that
there is a table named FOO, not that there is still a table with the OID
you have on record.)

            regards, tom lane

pgsql-patches by date:

Previous
From: "Matthew T. O'Connor"
Date:
Subject: Re: patch for pg_autovacuum 8.0.x prevent segv for dropped
Next
From: Andrew Dunstan
Date:
Subject: Re: patch for pg_autovacuum 8.0.x prevent segv for dropped