J'ai TRUNCATE
une énorme table (~ 120 Go) appelée files
:
TRUNCATE files;
VACUUM FULL files;
La taille de la table est 0, mais aucun espace disque n'a été libéré. Des idées sur la façon de récupérer mon espace disque perdu?
MISE À JOUR: L'espace disque a été libéré après environ 12 heures, sans aucune action de mon côté. J'utilise le serveur Ubuntu 8.04.
postgresql
truncate
disk-space
Adam Matan
la source
la source
Réponses:
Selon les commentaires de la source ,
truncate
crée un nouveau fichier de stockage vide et supprime l'ancien fichier de stockage au moment de la validation. (Les documents suggèrent que "fichier de stockage" n'est qu'un fichier en ce qui concerne le système d'exploitation, mais je peux mal comprendre la terminologie.)Puisqu'il semble supprimer un fichier, je peux imaginer des cas dans lesquels le système d'exploitation sous-jacent pourrait ne pas libérer immédiatement cet espace. J'imagine que dans certains cas, le fichier de stockage peut se retrouver dans la corbeille de recyclage sous Windows, par exemple. Mais dans mon cas, tronquer une table sous PostgreSQL 9. quelque chose a immédiatement augmenté l'espace libre sous Windows.
La troncature est également enregistrée dans le journal WAL. Je ne sais pas quel effet cela pourrait avoir.
la source