Récupération de données
Récupération de données à Bozouls (12340)
Arrêtez PostgreSQL et conservez le répertoire de données complet avec pg_wal. Datastrophe image le stockage, choisit un checkpoint cohérent puis vérifie les tables dans une instance isolée.
Notre expertise
Un relfilenode n'identifie sa table qu'avec le catalogue correspondant
Le fichier pg_control indique notamment le dernier checkpoint et les paramètres indispensables à l'interprétation du cluster. Le remplacer arbitrairement peut faire accepter une chronologie qui ne correspond pas aux pages reçues.
Une timeline PostgreSQL change après certaines restaurations. Deux segments portant des positions proches peuvent appartenir à des branches différentes; leur ordre ne se résume pas à la date du fichier.
Les tables volumineuses sont découpées en segments et possèdent parfois plusieurs forks. Oublier un fichier `_fsm`, `_vm` ou un segment numéroté n'a pas le même effet que perdre le fork principal, mais l'ensemble doit être inventorié.
TOAST place les grandes valeurs dans des relations associées. Une table qui répond à une requête simple peut encore contenir des documents ou des textes tronqués si ces objets ne sont pas contrôlés.
- Contrôle
- Le fichier pg_control décrit le checkpoint et la version attendus
- WAL
- Les timelines et les LSN ordonnent les transactions
- Relations
- Les relfilenodes sont rendus aux objets du catalogue
- Requêtes
- Les tables et les objets TOAST sont réellement parcourus
Diagnostic et devis
Situer le checkpoint dans la bonne timeline PostgreSQL
La version du cluster, son identifiant système et le checkpoint de pg_control définissent les segments WAL admissibles.
Les archives sont parcourues par timeline et par LSN. Une rupture est signalée sans fabriquer le segment manquant ni joindre deux branches incompatibles.
Les catalogues associent ensuite chaque relfilenode à une table, à un index ou à une relation TOAST avant les requêtes de validation.
- Le PGDATA complet avec ses permissions et ses liens symboliques
- Le répertoire pg_wal et les archives WAL disponibles
- Les tablespaces externes avec leur chemin d'origine
- Le fichier pg_control et la version exacte de PostgreSQL
- Les bases, les schémas, les tables et les plages de dates prioritaires
Comment ça marche
Ordonner les WAL puis ouvrir les relations dans une copie
- Le service PostgreSQL reste arrêté et chaque volume lié au cluster est acquis avant la rotation d'un journal ou la création d'un nouveau cluster.
- PG_VERSION, pg_control, les catalogues globaux et les identifiants de base situent la version et l'état du cluster.
- Les segments WAL sont classés par timeline, par numéro de séquence et par plage de LSN afin de repérer les lacunes réelles.
- Les fichiers de relation, les forks et les segments numérotés sont associés aux catalogues sans déduire leur table du seul nom externe.
- Une copie cohérente est ouverte dans une instance de version compatible; les opérations de reprise restent confinées à cet environnement.
- Les contraintes, les index, les lignes témoins et les objets TOAST sont interrogés avant l'export des tables retenues.
Attention
Éviter le nouveau cluster, le pg_control étranger et les WAL supprimés
- Ne créez pas un nouveau cluster dans le même PGDATA
- Ne supprimez aucun segment WAL supplémentaire
- Ne copiez pas un pg_control provenant d'une autre sauvegarde
- Ne rompez pas les liens vers les tablespaces externes
- Ne démarrez pas le cluster avec une version majeure différente
- Conservez les archives WAL avec leur nom complet
À Bozouls, un nouveau démarrage peut recycler des WAL ou modifier pg_control. L'état complet doit être figé avant toute tentative de reprise.
Le checkpoint, les timelines, les relfilenodes et les objets TOAST
Choisir une branche WAL avant d'interroger les relations
La reprise est exécutée sur une image qui rassemble tous les tablespaces. Chaque hypothèse de timeline possède sa propre copie et ne modifie jamais les volumes reçus.
Les exports distinguent les tables entièrement interrogées, les objets partiels et les relations seulement détectées. Une connexion au serveur ne vaut pas validation globale.
- Branche WAL La timeline et les LSN définissent une suite transactionnelle.
- Catalogue Les identifiants rendent un nom aux fichiers de relation.
- Contenu SQL Les lignes, les index et les valeurs TOAST sont contrôlés.
Préparer le devis
Préserver PGDATA, les tablespaces et toutes les branches WAL
Bozouls: les volumes et les archives WAL restent associés à leur cluster d'origine.
- Arrêtez PostgreSQL sans tenter un nouveau démarrage.
- Conservez PGDATA avec ses permissions
- Gardez pg_wal et les archives WAL séparées
- Joignez tous les volumes de tablespaces externes
- Notez la version et les éventuelles promotions de réplica
- Listez les bases, les tables et les périodes essentielles
Prise en charge
La version, les tablespaces et la dernière transaction connue à préciser depuis Bozouls
Conservez les volumes qui hébergeaient PGDATA et les tablespaces. Notez la version majeure, l'heure de l'incident, la dernière sauvegarde et toute promotion de réplica récente.
Datastrophe ne déclare ni agence ni laboratoire à Bozouls; Bozouls est une zone desservie. Le transporteur assure uniquement l'acheminement des supports jusqu'au laboratoire Datastrophe, avec le retour pris en charge.
Fournissez quelques noms de bases, quelques schémas, quelques clés de lignes et quelques périodes à vérifier. Leur lecture confirme la portée réelle de la reprise.
Nos expertises
Les requêtes sur les relations mesurent la cohérence du cluster
Carte
Réunir le cluster PostgreSQL acheminé depuis Bozouls
FAQ
Questions sur un cluster PostgreSQL à Bozouls
Pourquoi pg_control ne peut-il pas venir d'une autre sauvegarde?
Il décrit l'identité, la version et le checkpoint de son cluster. Un fichier étranger peut orienter la reprise vers une chronologie incompatible.
Deux timelines peuvent-elles partager des WAL?
Elles possèdent un historique commun puis divergent. Leur fichier d'historique et leurs LSN déterminent où la branche change.
Le nom d'un relfilenode révèle-t-il la table?
Pas seul. Les catalogues du cluster établissent la correspondance entre cet identifiant numérique et l'objet SQL.
Pourquoi vérifier les relations TOAST?
Elles portent les grandes valeurs détachées des lignes principales. Leur absence peut tronquer des textes, des documents ou d'autres champs volumineux.
Un serveur PostgreSQL démarré prouve-t-il toutes les bases?
Non. Des tables rarement interrogées peuvent dépendre d'un fichier manquant. Les bases et les objets prioritaires sont testés séparément.
Diagnostic et devis
Exporter les tables dont les lignes et les objets TOAST répondent
Le diagnostic et le devis sont gratuits. Avant paiement, la liste distingue les fichiers vérifiés, partiels, détectés sans intégrité prouvée et non exploitables. Vous payez seulement si la liste et le prix vous conviennent. Sans résultat exploitable, après un échec final ou en cas de refus, aucun frais standard n'est dû. Une pièce rare exige un accord séparé et chiffré; son coût reste non remboursable.