Problème de corruption de données après crash d'un serveur PostgreSQL
Problème de corruption de données après crash d'un serveur PostgreSQL
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
Re: Problème de corruption de données après crash d'un serveur PostgreSQL
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...
Re: Problème de corruption de données après crash d'un serveur PostgreSQL
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
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
Re: Problème de corruption de données après crash d'un serveur PostgreSQL
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...
Re: Problème de corruption de données après crash d'un serveur PostgreSQL
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 !