Thread: pgsql: Add TRUNCATE parameter to VACUUM.

pgsql: Add TRUNCATE parameter to VACUUM.

From
Fujii Masao
Date:
Add TRUNCATE parameter to VACUUM.

This commit adds new parameter to VACUUM command, TRUNCATE,
which specifies that VACUUM should attempt to truncate off
any empty pages at the end of the table and allow the disk space
for the truncated pages to be returned to the operating system.

This parameter, if specified, overrides the vacuum_truncate
reloption. If neither the reloption nor the VACUUM option is
used, the default is true, as before.

Author: Fujii Masao
Reviewed-by: Julien Rouhaud, Masahiko Sawada
Discussion: https://postgr.es/m/CAD21AoD+qtrSDL=GSma4Wd3kLYLeRC0hPna-YAdkDeV4z156vg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b84dbc8eb80b43e554891c459a19969d9fbdefe5

Modified Files
--------------
doc/src/sgml/ref/create_table.sgml   |  6 ++++--
doc/src/sgml/ref/vacuum.sgml         | 19 +++++++++++++++++++
src/backend/access/heap/vacuumlazy.c | 13 +++++++------
src/backend/commands/vacuum.c        | 13 +++++++++++++
src/backend/postmaster/autovacuum.c  |  1 +
src/bin/psql/tab-complete.c          |  4 ++--
src/include/commands/vacuum.h        |  2 ++
src/test/regress/expected/vacuum.out | 22 ++++++++++++++++++++++
src/test/regress/sql/vacuum.sql      | 11 +++++++++++
9 files changed, 81 insertions(+), 10 deletions(-)