I looked into this and I see a number of cases where pg_autovacuum calls
send_query(), but doesn't test for a NULL return from the function.
Matthew, would you look into this and submit a patch? Thanks.
---------------------------------------------------------------------------
Jeff Boes wrote:
> Recently I installed and started pg_autovacuum against my new Pg 7.4.1
> installation. We use a fairly large number of temporary tables within an
> application (that is, several copies of this application may be running,
> and each creates and drops several temp tables as they cycle through
> their workload). Here's what I think happened, based on the log
> (pg_autovacuum's and the postmaster's):
>
> pg_autovacuum.log:
> [2004-02-15 08:10:01 AM] Performing: ANALYZE "pg_temp_13"."tmp_targs"
> [2004-02-15 08:10:01 AM] Can not refresh statistics information from the
> database nexcerpt.
> [2004-02-15 08:10:01 AM] The error is [ERROR: relation
> "pg_temp_13.tmp_targs" does not exist
>
> postmaster.log:
> 2004-02-15 08:10:01 [31563] ERROR: relation "pg_temp_13.tmp_targs" does
> not exist
> 2004-02-15 08:10:01 [31563] LOG: unexpected EOF on client connection
>
>
> It appears that pg_autovacuum collected the name of a temp table, and
> later tried to analyze it. The table was gone by then, and this caused
> the daemon to exit. As this happened on a Sunday morning, my weekend
> experiment to see how pg_autovacuum would maintain our test database was
> rather spoiled ... 8-(
>
> --
> Jeff Boes vox 269.226.9550 ext 24
> Database Engineer fax 269.349.9076
> Nexcerpt, Inc. http://www.nexcerpt.com
> ...Nexcerpt... Extend your Expertise
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073