postgresql disk full wal files

Posté par alfred66 le 16/09/2025
RÉSOLU

alfred66

Membre depuis le 25/07/2024

actif

Mon serveur PostgreSQL est complètement saturé au niveau du disque. Je remarque que le répertoire `pg_wal` prend des centaines de gigas même si j'ai de la réplication.

Comment je gère cette accumulation de WALs avant que tout ne crash ?

Commentaires

asamson

Membre depuis le 06/02/2025

Vérifie tes slots de réplication avec `SELECT * FROM pg_replication_slots;`. Si un slot est inactif ou si le standby ne consomme pas les WALs assez vite, ils s'accumulent. Tu peux aussi avoir `wal_level` trop élevé ou `max_wal_size` trop grand dans `postgresql.conf`.

guillaume-richard

Membre depuis le 26/02/2025

Si tu utilises un archivage WAL avec `archive_mode = on` et `archive_command`, assure-toi que ton `archive_command` fonctionne correctement et n'est pas bloqué. Un `archive_command` qui échoue fera s'accumuler les WALs indéfiniment.

SELECT * FROM pg_stat_archiver;

erenault

Membre depuis le 01/03/2025

Pour purger manuellement les anciens WALs (si tu es sûr que plus aucun standby n'en a besoin ou si c'est un serveur standalone sans réplication) tu peux utiliser `pg_archivecleanup` mais c'est risqué. Mieux vaut régler la source du problème.

alfred66

Membre depuis le 25/07/2024

actif

Effectivement un de mes slots de réplication était inactif depuis des jours. Je l'ai supprimé et les WALs ont commencé à être purgés. J'ai aussi baissé `max_wal_size` en attendant. Merci pour les pistes !

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire