DBAtlas · Atlas d'exploitation des bases de données

XX001: data_corrupted

PostgreSQL

Que signifie cette erreur ?

PostgreSQL a détecté une corruption de données dans une page de table/heap. La requête ne peut pas se terminer en toute sécurité car le contenu du bloc lu est incohérent ('invalid page in block').

Cause

Panne de disque/stockage, corruption du système de fichiers, garanties fsync non respectées lors d'une coupure de courant soudaine, matériel défectueux (RAM/contrôleur) ou, rarement, un bug logiciel. Avec les checksums activés, la corruption est détectée plus tôt.

Comment la corriger

Vérifiez d'abord le matériel/le stockage et, si possible, prévoyez immédiatement un retour à une sauvegarde physique (PITR). Si une sauvegarde saine existe, restaurez-la. Pour la récupération, AU RISQUE DE PERDRE DES DONNÉES et uniquement en dernier recours, vous pouvez mettre à zéro les pages endommagées avec zero_damaged_pages = on et exporter les données lisibles (cela entraîne une perte de données). Activez data_checksums (sur un cluster existant en PG12+, pg_checksums --enable serveur arrêté), lancez des tests de RAM et effectuez des sauvegardes PITR régulières.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur