diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/access/transam/multixact.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/backend/access/transam/multixact.c b/src/backend/access/transam/multixact.c index 516a89fa2ec..4daa5ae9b02 100644 --- a/src/backend/access/transam/multixact.c +++ b/src/backend/access/transam/multixact.c @@ -2662,6 +2662,18 @@ SetOffsetVacuumLimit(bool finish_setup) } /* + * If we failed to get the oldest offset this time, but we have a value + * from a previous pass through this function, assess the need for + * autovacuum based on that old value rather than automatically forcing + * it. + */ + if (prevOldestOffsetKnown && !oldestOffsetKnown) + { + oldestOffset = prevOldestOffset; + oldestOffsetKnown = true; + } + + /* * Do we need an emergency autovacuum? If we're not sure, assume yes. */ return !oldestOffsetKnown || |