]> granicus.if.org Git - postgresql/commit
Use catalog query to discover tables to process in vacuumdb
authorMichael Paquier <michael@paquier.xyz>
Tue, 29 Jan 2019 02:22:03 +0000 (11:22 +0900)
committerMichael Paquier <michael@paquier.xyz>
Tue, 29 Jan 2019 02:22:03 +0000 (11:22 +0900)
commite0c2933a767c652429ddef674622b4656fa43092
treea1c4045c2703be40525f375f5f8662c53f32cecc
parentda05eb51debd5d4b0284bcafa728244183c303ae
Use catalog query to discover tables to process in vacuumdb

vacuumdb would use a catalog query only when the command caller does not
define a list of tables.  Switching to a catalog table represents two
advantages:
- Relation existence check can happen before running any VACUUM or
ANALYZE query.  Before this change, if multiple relations are defined
using --table, the utility would fail only after processing the
firstly-defined ones, which may be a long some depending on the size of
the relation.  This adds checks for the relation names, and does
nothing, at least yet, for the attribute names.
- More filtering options can become available for the utility user.
These options, which may be introduced later on, are based on the
relation size or the relation age, and need to be made available even if
the user does not list any specific table with --table.

Author: Nathan Bossart
Reviewed-by: Michael Paquier, Masahiko Sawada
Discussion: https://postgr.es/m/FFE5373C-E26A-495B-B5C8-911EC4A41C5E@amazon.com
src/bin/scripts/common.c
src/bin/scripts/common.h
src/bin/scripts/vacuumdb.c