postgresql disk full wal files

alfred66 16/09/2025
RÉSOLU
alfred66
Auteur
Avatar de alfred66
alfred66
Auteur

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 ?

16/09/2025 à 10:57

4 commentaires

asamson
Membre
Avatar de asamson
asamson
Membre

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.

Modifié le 23/05/2026 à 16:20

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;
Modifié le 23/05/2026 à 16:20
erenault
Membre
Avatar de erenault
erenault
Membre

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.

Modifié le 23/05/2026 à 16:20
alfred66
Auteur
Avatar de alfred66
alfred66
Auteur

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 !

Modifié le 23/05/2026 à 16:20

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