From 067deaf83d60744e42a3f07ce15aac3197607fb6 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Mon, 7 May 2007 20:41:24 +0000 Subject: [PATCH] Make sure we don't skip databases that are supposed to be vacuumed "exactly now". This can happen if the time granularity is not very high. Per ITAGAKI Takahiro. --- src/backend/postmaster/autovacuum.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index 3234bc47231..4d73c6c3f59 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/autovacuum.c,v 1.45 2007/05/04 02:06:13 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/autovacuum.c,v 1.46 2007/05/07 20:41:24 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -1036,8 +1036,8 @@ do_start_worker(void) * Skip this database if its next_worker value falls between * the current time and the current time plus naptime. */ - if (TimestampDifferenceExceeds(current_time, - dbp->adl_next_worker, 0) && + if (!TimestampDifferenceExceeds(dbp->adl_next_worker, + current_time, 0) && !TimestampDifferenceExceeds(current_time, dbp->adl_next_worker, autovacuum_naptime * 1000))