Page 1 sur 1
Problème de corruption de données après crash d'un serveur PostgreSQL
Publié : mar. janv. 07, 2025 1:14 pm
par romain_js
URGENT : Notre serveur Postgres 14 (Debian 11) a crashé pendant une panne de courant. Au reboot, certaines tables sont corrompues avec des erreurs 'invalid page header'. Comment récupérer sans backup récent ?
Re: Problème de corruption de données après crash d'un serveur PostgreSQL
Publié : mar. janv. 07, 2025 2:14 pm
par julie1991
Première étape : NE TOUCHE À RIEN. Fais une copie physique du répertoire data avant toute tentative de réparation. As-tu activé wal_log_hints ? Ça peut sauver la mise dans ces cas-là.
Re: Problème de corruption de données après crash d'un serveur PostgreSQL
Publié : mar. janv. 07, 2025 4:14 pm
par le_julien
J'ai vécu ça l'année dernière. Essaye pg_resetwal (avec précaution !) et CHECKPOINT. Mais si les pages sont vraiment endommagées, il te faudra un outil comme pg_filedump pour extraire ce qui est encore lisible.
Re: Problème de corruption de données après crash d'un serveur PostgreSQL
Publié : mar. janv. 07, 2025 10:14 pm
par romain_js
Merci pour les conseils. @44, wal_log_hints n'était pas activé... Grosse erreur. @123, pg_resetwal a partiellement fonctionné mais il manque 3 tables critiques. Vous pensez qu'un service pro comme PostgreSQL Support peut aider ?
Re: Problème de corruption de données après crash d'un serveur PostgreSQL
Publié : mer. janv. 08, 2025 2:14 am
par julie1991
Oui, mais c'est très cher. Avant ça, tente de créer une nouvelle base et importer via pg_dump --ignore-errors. Et investis dans un UPS et une config replication ASAP !
Re: Problème de corruption de données après crash d'un serveur PostgreSQL
Publié : mer. janv. 08, 2025 10:14 am
par geek.r
Petite astuce en dernier recours : si tu connais la structure, pg_filedump + scripts Python peuvent parfois reconstruire les données. Je l'ai fait pour un client sur une table clients de 50Go. Long mais efficace !