Re: [Proposal] vacuumdb --schema only - Mailing list pgsql-hackers

From Dinesh Chemuduru
Subject Re: [Proposal] vacuumdb --schema only
Date
Msg-id CALGdMENcP7EaZ0HHgp77AkXiJszvPQ4_xLYacR55Ar2r_0Djzg@mail.gmail.com
Whole thread Raw
In response to [Proposal] vacuumdb --schema only  (Gilles Darold <gilles@migops.com>)
List pgsql-hackers
On Fri, 4 Mar 2022 at 14:41, Gilles Darold <gilles@migops.com> wrote:
Hi,


When we want to vacuum and/or analyze all tables in a dedicated schema,
let's say pg_catalog for example, there is no easy way to do that. The
VACUUM command doesn't allow it so we have to use \gexec or a SQL script
to do that. We have an external command vacuumdb that could be used to
simplify this task. For example the following command can be used to
clean all tables stored in the pg_catalog schema:

     vacuumdb --schema pg_catalog -d foo


+1
This gives much better flexibility to users.


 
The attached patch implements that. Option -n | --schema can be used
multiple time and can not be used together with options -a or -t.


Common use cases are an application that creates lot of temporary
objects then drop them which can bloat a lot the catalog or which have
heavy work in some schemas only. Of course the good practice is to find
the bloated tables and execute VACUUM on each table but if most of the
tables in the schema are regularly bloated the use of the vacuumdb
--schema script can save time.


I do not propose to extend the VACUUM and ANALYZE commands because their
current syntax doesn't allow me to see an easy way to do that and also
because I'm not really in favor of such change. But if there is interest
in improving these commands I will be pleased to do that, with the
syntax suggested.


Best regards,

--
Gilles Darold

pgsql-hackers by date:

Previous
From: Justin Pryzby
Date:
Subject: Re: [Proposal] vacuumdb --schema only
Next
From: Nitin Jadhav
Date:
Subject: Re: Report checkpoint progress with pg_stat_progress_checkpoint (was: Report checkpoint progress in server logs)