Vérification de la corruption lors de la sauvegarde

Les utilisateurs n'aiment pas perdre de données
Répondre
Phil
Administrateur du site
Messages : 191
Enregistré le : mar. 1 sept. 2015 00:38
Localisation : France
Contact :

Vérification de la corruption lors de la sauvegarde

Message par Phil » lun. 4 juin 2018 14:58

Merci à un DBA Oracle pour sa question :

"Avec Oracle Database, une vérification de la corruption a lieu lors des sauvegardes RMAN. Qu'en est-il avec PostgreSQL ?"

Réponse :
La détection des corruptions peut avoir lieu à différents niveaux, par exemple au niveau du filesystem. Si votre filesystem ne dispose pas de ce type de vérification ou si vous voulez de toute façon effectuer la vérification au niveau base de données, vous pouvez activer les sommes de contrôle (checksums) depuis PostgreSQL 9.3, donc dans toutes les versions supportées de PostgreSQL.
Ensuite, tout dépend de votre outil de sauvegarde.
pg_backrest indique dans sa documentation qu'il effectue une validation si les checksums sont activés.
Barman ne le fait pas mais tous les outils utilisant en fait pg_basebackup bénéficieront automatiquement de cette vérification à partir de PostgreSQL 11.
Vous obtiendrez alors ce genre de réponse si la base est corrompue :
ATTENTION: checksum verification failed in file "./base/13091/16385", block 0: calculated C16A but expected 5A7E
pg_basebackup: checksum error occured


Un select sur la table concernée vous donnerait ça :
ATTENTION: échec de la vérification de la page, somme de contrôle calculé 49514, mais attendait 23166
ERREUR: page invalide dans le bloc 0 de la relation base/13091/16385
Cdlt. Phil - pgphil.ovh

Répondre