Problème de corruption de données après crash d'un serveur PostgreSQL

MySQL, PostgreSQL, requetes, optimisation
romain_js
Messages : 30
Inscription : dim. mars 24, 2024 7:25 pm

Problème de corruption de données après crash d'un serveur PostgreSQL

Message 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 ?
Team Linux depuis 2005, jamais revenu en arriere
julie1991
Messages : 17
Inscription : ven. janv. 12, 2024 7:24 pm

Re: Problème de corruption de données après crash d'un serveur PostgreSQL

Message 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à.
Il y a 10 sortes de gens...
le_julien
Messages : 280
Inscription : sam. sept. 28, 2024 7:24 pm

Re: Problème de corruption de données après crash d'un serveur PostgreSQL

Message 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.
romain_js
Messages : 30
Inscription : dim. mars 24, 2024 7:25 pm

Re: Problème de corruption de données après crash d'un serveur PostgreSQL

Message 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 ?
Team Linux depuis 2005, jamais revenu en arriere
julie1991
Messages : 17
Inscription : ven. janv. 12, 2024 7:24 pm

Re: Problème de corruption de données après crash d'un serveur PostgreSQL

Message 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 !
Il y a 10 sortes de gens...
geek.r
Messages : 278
Inscription : ven. nov. 22, 2024 7:24 pm

Re: Problème de corruption de données après crash d'un serveur PostgreSQL

Message 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 !
Répondre