Thread: pgsql: Add VACUUM (DISABLE_PAGE_SKIPPING) for emergencies.

pgsql: Add VACUUM (DISABLE_PAGE_SKIPPING) for emergencies.

From
Robert Haas
Date:
Add VACUUM (DISABLE_PAGE_SKIPPING) for emergencies.

If you really want to vacuum every single page in the relation,
regardless of apparent visibility status or anything else, you can use
this option.  In previous releases, this behavior could be achieved
using VACUUM (FREEZE), but because we can now recognize all-frozen
pages as not needing to be frozen again, that no longer works.  There
should be no need for routine use of this option, but maybe bugs or
disaster recovery will necessitate its use.

Patch by me, reviewed by Andres Freund.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/ede62e56fbe809baa1a7bc3873d82f12ffe7540b

Modified Files
--------------
doc/src/sgml/ref/vacuum.sgml         | 21 +++++++-
src/backend/commands/vacuum.c        |  9 ++++
src/backend/commands/vacuumlazy.c    | 97 ++++++++++++++++++++----------------
src/backend/parser/gram.y            | 10 ++++
src/include/nodes/parsenodes.h       |  3 +-
src/test/regress/expected/vacuum.out |  1 +
src/test/regress/sql/vacuum.sql      |  2 +
7 files changed, 97 insertions(+), 46 deletions(-)