From: Alvaro Herrera Date: Mon, 7 May 2007 20:41:24 +0000 (+0000) Subject: Make sure we don't skip databases that are supposed to be vacuumed "exactly X-Git-Tag: REL8_3_BETA1~710 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=067deaf83d60744e42a3f07ce15aac3197607fb6;p=thirdparty%2Fpostgresql.git 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. --- 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))