mirror of
https://github.com/postgres/postgres.git
synced 2025-11-06 07:49:08 +03:00
Utilize the visibility map in autovacuum, too. There was an oversight in
the visibility map patch that because autovacuum always sets VacuumStmt->freeze_min_age, visibility map was never used for autovacuum, only for manually launched vacuums. This patch introduces a new scan_all field to VacuumStmt, indicating explicitly whether the visibility map should be used, or the whole relation should be scanned, to advance relfrozenxid. Anti-wraparound vacuums still need to scan all pages.
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/nodes/parsenodes.h,v 1.379 2008/11/24 08:46:04 petere Exp $
|
||||
* $PostgreSQL: pgsql/src/include/nodes/parsenodes.h,v 1.380 2008/12/04 11:42:24 heikki Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -1966,6 +1966,7 @@ typedef struct VacuumStmt
|
||||
bool full; /* do FULL (non-concurrent) vacuum */
|
||||
bool analyze; /* do ANALYZE step */
|
||||
bool verbose; /* print progress info */
|
||||
bool scan_all; /* force scan of all pages */
|
||||
int freeze_min_age; /* min freeze age, or -1 to use default */
|
||||
RangeVar *relation; /* single table to process, or NULL */
|
||||
List *va_cols; /* list of column names, or NIL for all */
|
||||
|
||||
Reference in New Issue
Block a user