Il y a très probablement des requêtes qui créent de gros fichiers temporaires qui remplissent temporairement votre disque dur. Ces fichiers seront supprimés dès que la requête est terminée (ou a échoué), de sorte que le système de fichiers dispose de suffisamment d'espace libre lorsque vous regardez.
Définissez log_temp_files = 10240
dans postgresql.conf
(et recharger) pour enregistrer tous les fichiers temporaires dépassant 10 Mo, vous pouvez alors vérifier le fichier journal pour voir si c'est bien la raison.
Essayez d'identifier les mauvaises requêtes et corrigez-les.
Si les fichiers temporaires ne sont pas le problème, peut-être que les tables temporaires le sont. Ils sont supprimés automatiquement à la fin de la session de base de données. Votre application utilise-t-elle des tables temporaires ?
Une autre possibilité pourrait être des fichiers créés par autre chose que la base de données.