Postgresql - Tutorial - Tutorials

pg_repack, com reduir l’espai en disc d’una base de dades Postgresql

Passos a seguir per a reduir l’espai en disc ocupat per una base de dades .

  • 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 ha baixat d’ocupar 30GB a només 20.

Avatar photo

De vegades escric

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *