C'est normal, c'est le mécanisme de MVCC. Un simple delete marque les lignes comme mortes mais l'espace reste réservé pour de futurs inserts. Si tu veux vraiment récupérer la place maintenant, tu dois lancer un `VACUUM FULL` sur la table, mais attention ça verrouille la table en écriture.
Si tu ne peux pas te permettre un lock total car tu es en prod, regarde l'outil pg_repack. Ça permet de reconstruire la table en tâche de fond sans bloquer les accès.
pg_repack -t ma_grosse_table
J'ai pu faire une maintenance de nuit donc j'ai balancé le `VACUUM FULL` directement en SQL. J'ai récupéré mes 200 Go de database d'un coup. Merci pour les explications sur le storage.
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
hugues47
Membre depuis le 25/03/2019actif secouriste
J'ai purgé 200 Go de vieilles données dans une table PostgreSQL mais le stockage sur le volume cloud ne descend pas. J'ai toujours 95% d'occupation disque.
C'est quoi l'astuce pour que PostgreSQL rende la place au système de fichiers ?