On Mon, Nov 21, 2016 at 10:05 AM, Robert Haas <rh...@postgresql.org> wrote: > autovacuum: Drop orphan temp tables more quickly but with more caution. > > Previously, we only dropped an orphan temp table when it became old > enough to threaten wraparound; instead, doing it immediately. The > only value of waiting is that someone might be able to examine the > contents of the orphan temp table for forensic purposes, but it's > pretty difficult to actually do that and few users will wish to do so. > On the flip side, not performing the drop immediately generates log > spam and bloats pg_class.
I have found an obvious bug when reading the code this morning: orphan_failures is not initialized: diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index 954c1a1..be357e7 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -1908,7 +1908,7 @@ do_autovacuum(void) BufferAccessStrategy bstrategy; ScanKeyData key; TupleDesc pg_class_desc; - int orphan_failures; + int orphan_failures = 0; int effective_multixact_freeze_max_age; /* Attached is a patch. -- Michael
diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index 954c1a1..be357e7 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -1908,7 +1908,7 @@ do_autovacuum(void) BufferAccessStrategy bstrategy; ScanKeyData key; TupleDesc pg_class_desc; - int orphan_failures; + int orphan_failures = 0; int effective_multixact_freeze_max_age; /*
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers