[Proposal] vacuumdb --schema only

Поиск
Список
Период
Сортировка
От Gilles Darold
Тема [Proposal] vacuumdb --schema only
Дата
Msg-id 929fbf3c-24b8-d454-811f-1d5898ab3e91@migops.com
обсуждение исходный текст
Ответы Re: [Proposal] vacuumdb --schema only  (Justin Pryzby <pryzby@telsasoft.com>)
Re: [Proposal] vacuumdb --schema only  (Dinesh Chemuduru <dinesh.kumar@migops.com>)
Re: [Proposal] vacuumdb --schema only  (Gilles Darold <gilles@migops.com>)
Список pgsql-hackers
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

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 по дате отправления:

Предыдущее
От: Kyotaro Horiguchi
Дата:
Сообщение: Re: pg_tablespace_location() failure with allow_in_place_tablespaces
Следующее
От: Bharath Rupireddy
Дата:
Сообщение: Regression tests failures on Windows Server 2019 - on master at commit # d816f366b