Parallelní vacuum vybrané tabulky

Z PostgreSQL
Přejít na: navigace, hledání

Na serveru jsem zjistil bobtnání tabulek pg_attribute napříč databázemi. Následující skript provede VACUUM FULL této tabulky, pokud tato tabulka má více než 100MB. Díky xargs beží VACUUM paralelně.

for db in `psql -At -c "select datname from pg_database where datname not in ('template0','template1')"`; 
do 
psql -At -c "select current_database() where pg_table_size('pg_attribute') > 100 * 1024 * 1024" $db; 
done | xargs -P 3 -I % psql % -c "vacuum full  verbose analyze pg_attribute"