Passos a seguir per a reduir l’espai en disc ocupat per una base de dades #Postgresql.
-
instal·lar el paquete pg_repack (a Ubuntu 20.04 LTS el paquet a instal·lar és postgresql-12-repack)
-
editar postgresql.conf i afegir:
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.