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 [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])