pg_repack, com reduir l'espai en disc que ocupa una base de dades Postgresql

shared_preload_libraries = 'pg_repack' 
 * reiniciar Postgresql


Dins de la base de dades i amb permís de super usuari cal crear l’extensió pg_repack:


CREATE EXTENSION pg_repack;

 * des de la consola executar, per cada una de les taules de la base de dades:

pg_repack -x -d <base de dades> --table <taula>

El paràmetre x li diu a pg_repack que només els index però també podem fer repack a les taules (és el que faig amb la base de dades de Mastodon):

pg_repack -d <base de dades> --table <taula>

Podem crear un arxiu bash per a fer al repack a totes les taules de manera automatitzada.

Quan executem aquest fitxer bash, paciència, pot trigar una estona llarga en fer el repack a totes les taules però tampoc massa. Ja està, ja hem recuperat espai de disc dur.
Nota: en el meu cas de mastodont.cat, desprès d'esborrar 1.600 usuaris inactius, la base de dades de Mastodon ha baixat d'ocupar 30GB a només 20.