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
An Error Occurred: Internal Server Error

Oops! An Error Occurred

The server returned a "500 Internal Server Error".

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.