Chat with us, powered by LiveChat
Bienvenue > Outil de sauvegarde PostgreSQL de Bacula Systems

Bacula Enterprise s’intègre directement à PostgreSQL pour assurer la sauvegarde et la restauration même dans les environnements de production les plus exigeants, notamment les bases de données à haut débit de transactions et les grands clusters multi-bases de données qui ne peuvent se permettre aucune interruption de service pendant les fenêtres de sauvegarde.

Le logiciel de sauvegarde PostgreSQL gère l’intégralité du cycle de sauvegarde et de restauration de vos clusters PostgreSQL sans recourir à des scripts et sans interrompre le fonctionnement du cluster. Il s’exécute sous forme de plugin File Daemon sur l’hôte de la base de données et capture tout ce dont le cluster a besoin pour une restauration propre, des rôles et des tablespaces aux schémas par base de données et aux scripts de création.

L’outil de sauvegarde PostgreSQL de Bacula prend en charge les stratégies Dump et PITR pour couvrir deux scénarios de restauration distincts. Le mode Dump exécute pg_dump au format personnalisé ou standard sur l’ensemble des bases de données ou un sous-ensemble défini, avec un filtrage au niveau des objets disponible tant au moment de la sauvegarde que de la restauration. Cela s’avère particulièrement utile lorsque vous devez récupérer une seule table ou un seul schéma sans toucher au reste de la base de données.

En mode PITR, le plugin gère l’archivage WAL à tous les niveaux de tâches (complète, incrémentielle et différentielle), ce qui vous permet de restaurer n’importe quel cluster à un moment donné de votre choix et d’éviter de perdre des heures de transactions en cas de perte accidentelle de données, de corruption ou d’échec de déploiement.

Dans les environnements HA à plusieurs nœuds tels que Patroni, les sauvegardes Dump peuvent se connecter via le point de terminaison du cluster, quel que soit le nœud qui est le nœud principal. Les sauvegardes PITR et basées sur le WAL, en revanche, s’effectuent au niveau du système de fichiers sur l’hôte principal actif. Après un changement de rôle, les tâches de sauvegarde doivent pointer vers le nouveau nœud principal afin de maintenir une archive WAL cohérente.

Principaux avantages de l’outil de sauvegarde PostgreSQL de Bacula

Couverture de sauvegarde en double mode

  • Prise en charge des sauvegardes par vidage et PITR – Sauvegardez n’importe quelle instance PostgreSQL à l’aide de vidages logiques via pg_dump ou de l’archivage ponctuel (PITR) basé sur le WAL, les deux modes fonctionnant simultanément sur la même instance. Le PITR opère au niveau de l’instance, car les fichiers WAL sont générés pour l’ensemble de l’instance PostgreSQL plutôt que pour une seule base de données. Si vous avez besoin d’une granularité de restauration au niveau de la base de données, le mode Dump prend en charge la restauration sélective jusqu’à une seule table ou un seul schéma.
  • Aucun script requis – L’outil de sauvegarde PostgreSQL détecte automatiquement toutes les bases de données du cluster et sauvegarde automatiquement la configuration, les rôles, les tablespaces et les schémas sans aucune intervention manuelle.
  • Sauvegarde en ligne – Sauvegardez les clusters PostgreSQL tout en les laissant pleinement opérationnels, sans aucun temps d’arrêt requis à aucun niveau de sauvegarde.

Restauration granulaire à un instant donné (PITR)

  • Sauvegarde complète – Capture l’intégralité du répertoire de données et tous les fichiers WAL générés pendant l’exécution, formant ainsi la base de référence pour toutes les opérations de restauration ultérieures.
  • Sauvegarde incrémentielle – Archive les fichiers WAL générés depuis la dernière tâche et réduit les fenêtres de sauvegarde sur les bases de données à forte activité.
  • Sauvegarde différentielle – Capture les fichiers de données modifiés depuis la dernière sauvegarde complète ainsi que les fichiers WAL actuels, et réduit le temps de restauration sans l’encombrement de stockage lié à une nouvelle sauvegarde complète.
  • Cibles de restauration précises – Rejouez n’importe quelle chaîne WAL pour restaurer une instance à une transaction exacte, et pas seulement à la dernière sauvegarde planifiée.
  • Restauration vers un emplacement alternatif – Restaurez n’importe quelle base de données sur un serveur ou dans un répertoire différent à des fins de test, de migration ou de reprise après sinistre sans toucher à l’environnement de production.

Options de restauration complètes

  • Aucune lacune de couverture – Exécutez des tâches incrémentielles en parallèle avec des tâches complètes et différentielles via la directive « Maximum Concurrent Jobs », afin qu’aucune modification ne passe entre les fenêtres de sauvegarde.
  • Compatibilité avec la copie et la migration – Déplacez les données de sauvegarde entre les volumes à l’aide du framework natif de copie et de migration de Bacula, sans intervention du démon de fichiers.
  • Aucun espace disque temporaire requis – Les données sont transférées directement du cluster vers le démon de stockage à chaque niveau de sauvegarde, sans étape intermédiaire.

L’outil de sauvegarde PostgreSQL est disponible sur Linux 32 bits et 64 bits et prend en charge toutes les versions de PostgreSQL officiellement maintenues à partir de la version 8.4.

Logiciel de sauvegarde PostgreSQL : résumé détaillé des fonctionnalités

Le choix de la stratégie de sauvegarde appropriée dépend de vos besoins : s’agit-il de restaurer des objets individuels à partir d’un dump logique ou de restaurer l’intégralité d’un cluster à un instant précis ? Le tableau ci-dessous présente les principales différences fonctionnelles entre les modes pris en charge par cette solution de sauvegarde PostgreSQL.

Les modes « Custom » et « Dump » génèrent des fichiers SQL compacts et portables, adaptés aux restaurations sélectives et aux migrations entre versions. Le mode PITR génère des sauvegardes plus volumineuses car il capture l’intégralité du répertoire de données ainsi que les fichiers WAL, mais offre des vitesses de restauration plus rapides et la possibilité de récupérer les données à n’importe quel moment précis. Les deux stratégies peuvent s’exécuter simultanément sur la même instance PostgreSQL.

*Dans le tableau, le format « Custom » correspond au format « Custom Dump » de pg_dump et le format « Dump » du module PostgreSQL de Bacula correspond au format « plain » de pg_dump.

Personnalisé Sauvegarde PITR
Restauration d’un objet unique (table, schéma) Oui Non Non
Vitesse de sauvegarde Lente Lente Rapide
Vitesse de restauration Lente Très lente Rapide
Taille de la sauvegarde Petite Petite Grande
Restauration à un instant donné Non Non Oui
Prise en charge des sauvegardes incrémentielles et différentielles Non Non Oui
Restauration parallèle Oui Non Non
Sauvegarde en ligne Oui Oui Oui
Sauvegarde cohérente Oui Oui Oui
Restauration vers une version majeure antérieure de PostgreSQL Non Oui Non
Restauration vers une version majeure plus récente de PostgreSQL Oui Oui Non

Fonctionnalités de sauvegarde robustes

  • Sauvegarde complète – Capture l’intégralité du répertoire de données et tous les fichiers WAL générés au cours de la tâche, constituant ainsi la base de référence pour toutes les chaînes de restauration PITR.
  • Sauvegarde incrémentielle – Force un changement de segment WAL et archive tous les fichiers WAL générés depuis la tâche précédente, ce qui permet de réduire au minimum les fenêtres de sauvegarde sur les instances PostgreSQL à forte activité.
  • Sauvegarde différentielle – Capture les fichiers de données modifiés depuis la dernière sauvegarde complète ainsi que tous les fichiers WAL actuels, conciliant l’efficacité du stockage et une résolution plus rapide de la chaîne de restauration.
  • Sauvegarde basée sur pg_dump – Exécute pg_dump au format personnalisé ou standard sur l’ensemble des bases de données ou un sous-ensemble défini, avec un filtrage au niveau des objets disponible au moment de la sauvegarde.
  • Sauvegarde en ligne – Tous les types de sauvegarde s’exécutent sur une instance PostgreSQL en production, sans temps d’arrêt ni interruption du cluster.
  • Détection automatique du cluster – Le plugin détecte automatiquement toutes les bases de données du cluster et capture la configuration, les rôles, les tablespaces, les schémas et les scripts de création sans configuration manuelle.
  • Aucun espace disque temporaire requis – Transfert en masse des données directement depuis l’hôte de la base de données vers le Storage Daemon à chaque niveau de sauvegarde.

Fonctionnalités de restauration

  • Restauration à un instant donné (PITR) – Rejoue n’importe quelle chaîne WAL pour restaurer une instance PostgreSQL à une transaction précise, indépendamment des intervalles de sauvegarde planifiés.
  • Restauration d’un objet unique – Restaure des tables, des schémas ou des index individuels directement à partir de sauvegardes au format personnalisé à l’aide de pg_restore, sans toucher au reste de la base de données.
  • Restauration vers un emplacement alternatif – Récupère n’importe quelle base de données sur un serveur différent ou dans un répertoire local à des fins de migration, de test ou de reprise après sinistre, sans affecter l’environnement de production.
  • Restauration parallèle – Les sauvegardes au format personnalisé prennent en charge les tâches de restauration simultanées via pg_restore, ce qui réduit le temps de récupération sur les systèmes multicœurs.
  • Restauration entre versions – Les formats de sauvegarde personnalisés et standard prennent en charge la restauration vers des versions majeures plus récentes de PostgreSQL ; le format standard prend en charge la restauration vers des versions majeures antérieures.
  • Récupération granulaire des rôles et des schémas – Les rôles, les utilisateurs et les schémas de base de données peuvent être restaurés indépendamment à l’aide des fichiers roles.sql et schema.sql, avec une édition sélective prise en charge via psql avant le chargement.

Fonctionnalités opérationnelles

  • Vérification de l’accès à la base de données – La commande « estimate » interroge le plugin PostgreSQL afin de valider la connectivité du cluster et de répertorier toutes les bases de données détectées avant l’exécution de toute tâche de sauvegarde.
  • Ciblage sélectif des bases de données – Le paramètre « database » accepte les chaînes de caractères avec caractères génériques, ce qui permet au plugin de sauvegarder uniquement les bases de données correspondant à un modèle défini sans modifier la configuration de la tâche.
  • Prise en charge des fichiers de connexion au service – Les paramètres de connexion PostgreSQL peuvent être abstraits dans une entrée pg_service nommée. Cela permet au plugin de se connecter à des instances distantes sans intégrer directement l’hôte, le port ou les identifiants dans le FileSet.
  • Contrôle du délai d’expiration – Un paramètre de délai d’expiration configurable définit le temps d’attente maximal en secondes pour toute commande envoyée à PostgreSQL, la valeur par défaut étant de 60 secondes. Définissez abort_on_error pour interrompre immédiatement la tâche en cas d’échec de la connexion plutôt que de la laisser s’exécuter de manière incomplète.
  • Conseils sur la déduplication – PostgreSQL n’implémente pas ses routines de sauvegarde en tenant compte de la déduplication. L’exécution de la commande CLUSTER avant la sauvegarde réorganise physiquement les données des tables par index, améliorant ainsi les taux de déduplication au prix d’un verrou exclusif sur la table et d’une surcharge significative du processeur et des E/S.

Administration et surveillance

  • Gestion via l’interface Web (BWeb) – Configurez et surveillez les tâches de sauvegarde PostgreSQL via la console graphique BWeb de Bacula sans avoir à modifier directement les fichiers de configuration.
  • Contrôle en ligne de commande – Utilisez bconsole pour le déclenchement des tâches, la navigation dans le catalogue, les opérations de restauration et l’automatisation par script pour toutes les tâches de sauvegarde PostgreSQL.
  • Limitations connues – dump_opt ne peut pas être utilisé pour sauvegarder des serveurs PostgreSQL distants ; utilisez plutôt PGSERVICE. La restauration de template1, postgres ou de toute base de données comportant des connexions actives nécessite que ces connexions soient d’abord fermées. La relecture de longues chaînes WAL sur des clusters à forte activité allonge considérablement la durée des opérations de restauration PITR.

Prise en charge des plateformes et des versions

La solution de sauvegarde Bacula Enterprise PostgreSQL prend en charge les configurations suivantes :

  • Toutes les versions de PostgreSQL officiellement maintenues à partir de la version 8.4
  • Linux 32 bits
  • Linux 64 bits

Une sécurité intégrée à chaque sauvegarde PostgreSQL

Les organismes de défense, les agences gouvernementales et les institutions financières font confiance à Bacula Enterprise pour protéger leurs environnements PostgreSQL les plus sensibles.

La sécurité de Bacula commence dès le niveau de l’architecture. Les clients de sauvegarde n’ont aucune connaissance des cibles de stockage et ne détiennent aucun identifiant pour y accéder, ce qui signifie qu’un hôte de base de données compromis ne peut ni lire, ni écraser, ni modifier, ni supprimer les données de sauvegarde. Cette protection est intégrée au protocole lui-même ; elle ne s’active pas via un paramètre de configuration.

Protection contre les ransomwares et les logiciels malveillants

  • Volumes de disque immuables – Les volumes de sauvegarde peuvent être configurés comme immuables, ce qui empêche toute modification ou suppression une fois les données écrites, y compris par des utilisateurs privilégiés.
  • Détection de l’altération des données – Identifie automatiquement les données corrompues ou altérées avant qu’elles ne se propagent dans la chaîne de sauvegarde.
  • Détection avancée des ransomwares – BGuardian surveille l’activité de sauvegarde à la recherche de schémas suspects et déclenche des alertes avant que les dommages ne s’étendent.
  • Détection silencieuse de la corruption des données – Vérifie l’intégrité des données sauvegardées indépendamment du système source.

Chiffrement et authentification

  • Chiffrement AES – Chiffrement des données configurable par client en AES 128, AES 192 ou AES 256, appliqué au niveau du volume.
  • TLS pour l’ensemble du trafic réseau – Chiffrement TLS automatique sur tous les canaux de communication des composants, avec authentification par mot de passe CRAM-MD5 entre les démons.
  • Authentification multifactorielle – Authentification MFA et OTP avec prise en charge biométrique des smartphones pour l’accès à BWeb.
  • Intégration Active Directory et LDAP – Contrôle d’accès centralisé directement lié à votre infrastructure de gestion des identités existante.

Conformité et auditabilité

  • Conforme à la norme FIPS 140-3 – Respecte les normes cryptographiques fédérales requises dans les environnements gouvernementaux et de défense.
  • Signatures de fichiers SHA256 et SHA512 – Vérification cryptographique de chaque fichier sauvegardé, avec comparaison de catalogues de type Tripwire pour la détection des intrusions.
  • Intégration SIEM – Les événements de sécurité sont directement transmis à votre plateforme existante de gestion des informations et des événements de sécurité (SIEM).
  • Rapports de renforcement de la sécurité – Rapports de renforcement par hôte pour chaque système sur lequel Bacula est exécuté, mettant en évidence les configurations non sécurisées avant qu’elles ne deviennent des vulnérabilités.

Fonctionnalités de base pour toutes les utilisations de Bacula

L’outil de sauvegarde PostgreSQL fait partie de la plateforme de sauvegarde unifiée de Bacula Enterprise. Toutes les fonctionnalités énumérées ci-dessous sont disponibles dans toutes les installations Bacula, quel que soit l’environnement.

Infrastructure de stockage et efficacité

Bacula Enterprise permet aux administrateurs de contrôler directement les coûts de stockage grâce à la réduction des données et à un routage flexible vers les destinations :

  • Déduplication au niveau des blocs – Tout bloc de données apparaissant plus d’une fois dans le catalogue de sauvegarde n’est écrit qu’une seule fois sur le stockage, ce qui élimine la redondance à la source plutôt qu’a posteriori.
  • Compression adaptative – Les algorithmes de compression sont configurables par tâche, ce qui permet d’équilibrer la charge CPU et les économies de stockage en fonction du type de données et des ressources disponibles.
  • Plusieurs types de cibles de stockage – Les sauvegardes s’écrivent sur un disque local, un NAS, un SAN, des bibliothèques de bandes, un stockage objet dans le cloud (notamment S3, Azure et Google Cloud), ou toute combinaison de ces options au sein d’une même politique.
  • Stockage objet compatible S3 – Se connecte à n’importe quel fournisseur compatible S3 pour une conservation à long terme sans dépendance vis-à-vis d’un fournisseur.
  • Workflows de stockage hiérarchisé – Les données de sauvegarde migrent automatiquement entre les niveaux de stockage à mesure qu’elles vieillissent, de sorte que les points de restauration fréquemment consultés restent sur un stockage rapide tandis que les données plus anciennes sont transférées vers des destinations moins coûteuses.
  • Incrémental à vie – Après une première sauvegarde complète, chaque tâche suivante ne capture que ce qui a changé. Les fenêtres de sauvegarde complète récurrentes deviennent superflues.
  • Transferts optimisés en termes de bande passante – Seules les données modifiées transitent sur le réseau entre les cycles de sauvegarde, ce qui réduit au minimum la charge sur l’infrastructure de production.

Protection des données et conformité

La sécurité et la conformité réglementaire sont intégrées à chaque niveau de la plateforme, du chiffrement du transport et du stockage des données au contrôle d’accès et à la journalisation des audits.

  • Chiffrement de bout en bout – Le chiffrement AES-256 couvre l’intégralité du parcours des données, du client source à la destination de stockage finale, avec une gestion des clés configurable pour s’adapter aux politiques de sécurité de l’organisation.
  • Copies de sauvegarde immuables – Le stockage compatible WORM verrouille les données de sauvegarde contre toute modification ou suppression une fois qu’elles ont été écrites, ce qui vous offre un point de restauration hors de portée des ransomwares et des menaces internes.
  • Contrôles d’accès granulaires – Les autorisations des utilisateurs s’appliquent à des tâches spécifiques, des workflows de restauration et des fonctions de gestion, de sorte que les administrateurs n’accèdent qu’aux éléments requis par leur rôle.
  • Audit complet des activités – Chaque sauvegarde, restauration et modification de configuration est consignée avec l’identité de l’utilisateur et l’horodatage. Les équipes chargées de la conformité et de la sécurité disposent ainsi d’une piste d’audit complète et ininterrompue.
  • Prise en charge du cadre réglementaire – Les contrôles de la plateforme répondent aux exigences du RGPD, de la loi HIPAA et de la norme SOC 2 grâce à une combinaison de chiffrement, de politiques de conservation configurables et de journaux d’audit détaillés.
  • Architectures préservant la confidentialité – Des options de déploiement en connaissance zéro permettent à l’infrastructure de sauvegarde de fonctionner sans accorder aux administrateurs aucune visibilité sur les données protégées elles-mêmes.

Gestion et contrôle d’entreprise

Deux interfaces complémentaires et une suite complète d’outils de gestion offrent une visibilité et un contrôle sur l’ensemble des opérations de sauvegarde :

  • Double interface – BWeb fournit une console graphique pour la gestion et la surveillance quotidiennes des tâches, tandis que bconsole offre aux opérateurs un contrôle total via la ligne de commande pour la création de scripts, l’automatisation et la configuration avancée.
  • Évolutivité sans limites – La même architecture de plateforme gère des environnements allant d’une poignée de serveurs à des déploiements comptant des milliers de serveurs, le tout sous un seul plan de gestion.
  • Isolation des locataires – Les MSP et les grandes entreprises partitionnent l’environnement de sauvegarde en unités administrées indépendamment, chacune disposant de sa propre configuration, de ses propres politiques et de ses propres contrôles d’accès.
  • Détection automatique des ressources – La plateforme analyse l’infrastructure pour identifier et répertorier automatiquement les cibles de sauvegarde, de sorte que la couverture de protection reste à jour à mesure que les environnements évoluent.
  • Rapports complets – Des rapports planifiés couvrent les résultats des tâches, les tendances en matière de capacité, l’état de conformité et les performances opérationnelles, et sont fournis à une fréquence définie.
  • Intégration de systèmes externes – Se connecte aux outils de surveillance, aux systèmes de tickets informatiques et aux services d’annuaire, notamment LDAP et Active Directory, s’intégrant ainsi aux flux de travail opérationnels existants sans développement personnalisé.

L’excellence en matière d’infrastructure hybride

Les serveurs physiques, les machines virtuelles, les conteneurs et l’infrastructure cloud s’inscrivent tous dans une stratégie de sauvegarde unique et unifiée :

  • Virtualisation multi-plateforme – Intégration native pour VMware vSphere, Hyper-V, KVM, Red Hat Virtualization, Xen, Azure VM, Proxmox et Nutanix AHV, avec une application cohérente des politiques sur toutes les plateformes.
  • Convergence physique et virtuelle – Les serveurs physiques, les postes de travail et les machines virtuelles sont protégés via la même interface de gestion avec des politiques de sauvegarde unifiées.
  • Prise en charge des conteneurs et du cloud natif – Protection complète pour les environnements Docker, Kubernetes et OpenShift avec des sauvegardes de volumes persistants et des instantanés cohérents au niveau des applications.
  • Intégration du stockage multicloud – Prise en charge native du stockage dans les clouds publics, privés et hybrides, notamment S3, S3-IA, Azure, Google Cloud, Oracle Cloud et Glacier, avec la fonctionnalité « Minimal Restore Cost ».
  • Intégration des bases de données et des applications – Sauvegarde à chaud pour Oracle, SQL Server, MySQL, PostgreSQL, SAP HANA et d’autres applications critiques, avec une cohérence transactionnelle totale.

Avantages économiques

La tarification des licences est basée sur la taille de l’environnement, et non sur le volume de données. Les bases de données PostgreSQL peuvent s’étendre sans entraîner d’augmentation des coûts de licence :

  • Tarification indépendante du volume – L’augmentation de la capacité de sauvegarde n’entraîne pas de hausse des frais de licence ; les coûts de protection des données restent donc stables même lorsque les volumes de données augmentent.
  • Structure de coûts prévisible – Un modèle de tarification fixe permet aux équipes de planifier les budgets d’infrastructure sans avoir à tenir compte des coûts variables liés à la croissance du stockage ou aux changements de charge de travail.
  • Tarification indépendante de la charge de travail – La taille des bases de données, le nombre de serveurs et les volumes de stockage n’ont aucune incidence sur les coûts de licence.
  • Avantages financiers à grande échelle – Les organisations qui protègent des bases de données PostgreSQL volumineuses ou en forte croissance bénéficient d’avantages économiques de plus en plus significatifs par rapport aux concurrents pratiquant une tarification à la capacité.
  • Avantages économiques pour les fournisseurs de services – Les MSP acceptent des clients disposant d’ensembles de données volumineux ou en forte croissance sans avoir à absorber les augmentations des coûts de licence qui érodent les marges dans le cadre des modèles de tarification au téraoctet.

Récupération et continuité des activités

Chaque scénario de récupération suit un parcours défini, de la restauration d’un seul fichier à la reconstruction complète d’un site :

  • Restauration complète au niveau du système – Récupère un serveur complet à partir de zéro, y compris le système d’exploitation, les applications, la configuration et les données, sans nécessiter d’installation manuelle préalable.
  • Transfert de données multiplateforme – Les données de sauvegarde peuvent être restaurées sur un système d’exploitation différent de celui d’origine, ce qui offre des options aux équipes lorsque du matériel équivalent n’est pas disponible ou qu’une migration est en cours.
  • Réplication géographique des sauvegardes – Les jeux de sauvegarde sont copiés vers des emplacements de stockage géographiquement distincts, de sorte qu’une panne à l’échelle du site n’entraîne pas la perte des points de restauration.
  • Planification de sauvegardes fréquentes – Les intervalles de sauvegarde peuvent être réduits à quelques minutes, ce qui réduit considérablement la fenêtre de perte potentielle de données par rapport à ce que permettent les planifications traditionnelles horaires ou nocturnes.
  • Validation automatisée de la restauration – La récupérabilité est confirmée par des tests automatisés sans intervention de l’administrateur ni processus de validation distinct.

Types de sauvegarde PostgreSQL

Notre outil propose deux méthodes principales pour sauvegarder les bases de données PostgreSQL : les instantanés au niveau du système de fichiers (physiques) ou les sauvegardes SQL (logiques).

Type physique

Les sauvegardes au niveau du système de fichiers, ou sauvegardes physiques, sont essentiellement des instantanés de tous les fichiers de la base de données. La sauvegarde de ces fichiers n’est pas aussi simple qu’il n’y paraît, car ils font généralement l’objet de réécritures et de modifications constantes. La sauvegarde d’une base de données PostgreSQL repose sur deux méthodes clés : l’archivage continu et la restauration à un instant donné. Ces deux méthodes sont conçues pour se compléter mutuellement. L’archivage continu fournit la chaîne WAL, et la restauration à un instant donné (PITR) l’utilise pour restaurer l’instance à n’importe quel moment choisi.

Pour garantir la cohérence, les sauvegardes doivent vérifier que le processus de sauvegarde copie l’intégralité de la base de données ou la laisse totalement inchangée. C’est pourquoi PostgreSQL utilise la technologie de journalisation à l’avance (WAL). Les segments WAL sont précisément les fichiers sauvegardés au cours du processus d’archivage en cours. Les informations stockées dans ces fichiers facilitent la récupération après un crash et améliorent la cohérence des données.

Il n’est pas rare que les bases de données subissent des modifications au cours d’une sauvegarde du système de fichiers, mais certaines de ces modifications peuvent endommager des parties de la sauvegarde ou la rendre irrécupérable. Pour éviter cela, PostgreSQL fournit une API de bas niveau pour le processus de sauvegarde physique. L’utilisation de pg_start_backup() et pg_stop_backup() avant et après le processus empêche que des modifications dangereuses ne soient apportées à la base de données pendant la sauvegarde. Tous les segments WAL générés entre ces deux commandes doivent tout de même être capturés. L’instantané au niveau du système de fichiers, associé à ces segments WAL, est communément appelé sauvegarde de base.

Type logique

Un vidage SQL, ou sauvegarde logique, fonctionne différemment d’une sauvegarde physique. Il utilise les commandes de sauvegarde de PostgreSQL pour recréer la structure de base de la base de données et la remplir de données. Un vidage SQL reflète fidèlement l’état de la base de données à un moment donné, puisque le processus de vidage s’exécute comme n’importe quelle autre session de base de données.

Le processus fonctionne comme suit : le logiciel parcourt toutes les tables disponibles, puis récupère toutes les lignes, en conservant l’ordre nécessaire pour tout restaurer exactement tel qu’il a été sauvegardé, y compris toutes les connexions et dépendances.

Il convient de garder à l’esprit, avec les sauvegardes SQL, que les données provenant de différentes tables peuvent comporter des horodatages différents. Une table peut être capturée à l’horodatage A et une autre à l’horodatage B. Cela mérite d’être noté lorsque votre base de données applique des règles concernant la manière dont les lignes et les tables doivent être liées les unes aux autres.

 

Télécharger l’essai gratuitTéléchargez le whitepaper de PostgreSQL

Foire aux questions

Qu’est-ce que PostgreSQL ?

PostgreSQL est un système de gestion de bases de données relationnelles open source qui bénéficie de plus de 35 ans de développement actif. C’est l’une des bases de données les plus utilisées au monde, à laquelle font confiance des organisations de toutes tailles pour sa fiabilité, ses performances et son extensibilité. Elle prend en charge les requêtes SQL et JSON et gère aussi bien les petites applications web que les charges de travail d’entreprise à grande échelle.

pg_dump est-il une véritable solution de sauvegarde PostgreSQL ?

pg_dump est un outil d’exportation de données, et non une solution de sauvegarde complète. Il ne capture pas les fichiers WAL, ce qui rend impossible la restauration à un instant donné à partir d’un simple dump. Il exclut également les objets globaux tels que les rôles et les tablespaces, à moins que vous n’exécutiez pg_dumpall séparément. Pour les environnements de production, pg_dump fonctionne mieux dans le cadre d’une stratégie plus large incluant l’archivage WAL et la planification automatisée, ce qui correspond exactement à ce que l’outil de sauvegarde PostgreSQL de Bacula gère automatiquement.

Si j’utilise la réplication, ai-je encore besoin de sauvegardes PostgreSQL ?

Oui. La réplication copie chaque modification sur vos serveurs de secours, y compris les modifications accidentelles. Si un développeur supprime une table en production, cette suppression est répliquée instantanément sur chaque réplica. Les sauvegardes avec PITR vous permettent de restaurer l’état exact du système juste avant l’erreur. La réplication et les sauvegardes résolvent des problèmes différents et doivent toutes deux faire partie de votre stratégie de restauration.

Quelle est la meilleure façon d’automatiser les sauvegardes PostgreSQL ?

L’approche la plus fiable pour les environnements de production combine des sauvegardes complètes planifiées avec l’archivage continu du WAL. Bacula Enterprise gère les deux automatiquement. Les tâches complètes, incrémentielles et différentielles s’exécutent selon un calendrier défini, l’archivage du WAL s’effectue en arrière-plan, et tout est géré de manière centralisée sans script personnalisé.

Comment fonctionne la restauration à un instant précis (PITR) de PostgreSQL ?

PostgreSQL enregistre chaque modification de la base de données dans le journal d’écriture anticipée (WAL) avant de l’appliquer aux fichiers de données. La PITR fonctionne en restaurant une sauvegarde de base, puis en rejouant les fichiers WAL jusqu’au moment précis auquel vous devez revenir. Cela vous permet de récupérer des données perdues accidentellement, des tables supprimées ou des déploiements ayant échoué à un moment précis, plutôt que de vous limiter à la dernière sauvegarde planifiée.

De quel outil de sauvegarde PostgreSQL ai-je besoin pour un environnement d’entreprise ?

Les environnements PostgreSQL d’entreprise nécessitent une sauvegarde en ligne sans temps d’arrêt, la restauration à un instant précis (PITR), une gestion centralisée sur plusieurs clusters, le chiffrement et l’intégration avec le reste de l’infrastructure. Le plugin PostgreSQL de Bacula Enterprise couvre tous ces aspects au sein d’une plateforme unique qui protège également les machines virtuelles, les conteneurs, les environnements cloud et d’autres bases de données.