Comment planifier des sauvegardes automatiques pour PostgreSQL avec pgAgent dans pgAdmin



Mise en place de sauvegardes automatisées pour PostgreSQL avec pgAgent via pgAdmin

Introduction

PostgreSQL, un système de gestion de bases de données relationnelles (SGBDR) open source, est largement adopté. Pour maintenir l’intégrité et l’accessibilité des données, il est impératif d’établir une méthode de sauvegarde automatique et fiable. pgAgent, intégré à pgAdmin, l’interface de gestion graphique pour PostgreSQL, permet de planifier des sauvegardes et diverses tâches automatisées. Cet article détaille la procédure pas à pas pour configurer des sauvegardes automatiques pour PostgreSQL en utilisant pgAgent.

Configuration de pgAgent

1. Activation de pgAgent

Assurez-vous que pgAgent est opérationnel dans votre installation PostgreSQL. Utilisez la commande suivante dans un terminal:

sql
ALTER SYSTEM SET pgagent.start_on_boot TO 'on';
ALTER SYSTEM SET pgagent.log TO 'on';

* Le premier paramètre permet le démarrage automatique de pgAgent au lancement du serveur.
* Le second paramètre active l’enregistrement des activités de pgAgent.

2. Création d’un schéma d’agent

Les tâches programmées dans pgAgent sont regroupées en schémas. Créez un schéma dédié à vos sauvegardes :

sql
CREATE SCHEMA IF NOT EXISTS backups;

3. Création d’un compte d’agent

Un compte d’agent est requis pour l’exécution des tâches pgAgent. Créez un compte avec les droits appropriés :

sql
CREATE ROLE backups WITH LOGIN PASSWORD 'motdepasse';
GRANT usage ON SCHEMA backups TO backups;

Programmation des sauvegardes automatisées

1. Création d’une tâche de sauvegarde

Dans pgAdmin, localisez votre serveur PostgreSQL dans l’arborescence des objets. Faites un clic droit et choisissez Créer > Agent dans le menu contextuel.

Dans la fenêtre Créer un agent :

* Nom : Choisissez un nom pour votre tâche de sauvegarde.
* Schéma : Sélectionnez le schéma « backups » que vous avez créé.
* Propriétaire : Indiquez le compte d’agent « backups ».
* Commentaire : Ajoutez une description (facultatif).

2. Configuration des paramètres de sauvegarde

Dans l’onglet Tâche, personnalisez les paramètres de sauvegarde :

* Nom de la tâche : Nommez l’action de sauvegarde.
* Type de tâche : Choisissez Archivage dans le menu déroulant.
* Commande : Entrez la commande de sauvegarde, par exemple :


pg_dump -U postgres -Fc --file=/chemin/vers/sauvegarde.sql nom_de_la_base_de_données

* arguments : Ajoutez des arguments spécifiques à la commande de sauvegarde si nécessaire.
* Exécuter : Choisissez la fréquence d’exécution (quotidienne, hebdomadaire, etc.).
* Heure de début : Définissez l’heure de la première exécution.

3. Sauvegarde et activation de la tâche

Après avoir configuré les paramètres, enregistrez et activez la tâche :

* Enregistrer pour sauvegarder sans activer.
* Appliquer pour sauvegarder et activer immédiatement.

Vérification des sauvegardes

Une fois la tâche active, pgAgent lancera les sauvegardes automatiquement selon le calendrier. Vous pouvez suivre l’état des sauvegardes dans la section Tâches de la fenêtre Agent.

* Succès : La sauvegarde a été effectuée sans erreur.
* Échec : La sauvegarde a échoué. Consultez les journaux de pgAgent pour plus de détails.
* En cours : La sauvegarde est en cours d’exécution.

Conclusion

La configuration de sauvegardes automatisées avec pgAgent assure une protection contre la perte ou la détérioration de vos données critiques. En suivant ces instructions, vous pouvez établir un système de sauvegarde planifié et fiable pour votre base de données PostgreSQL, assurant la disponibilité continue de vos informations.

FAQ

1. Comment modifier les paramètres d’une sauvegarde existante ?
* Modifiez la tâche depuis la fenêtre Agent dans pgAdmin, en ajustant les paramètres nécessaires.

2. Est-il possible de planifier des sauvegardes pour plusieurs bases de données ?
* Oui, créez une tâche de sauvegarde spécifique pour chaque base de données.

3. Comment restaurer une base de données à partir d’une sauvegarde ?
* Utilisez la commande `pg_restore` pour rétablir la base de données à partir du fichier de sauvegarde.

4. Où sont conservés les fichiers de sauvegarde créés par pgAgent ?
* Les fichiers de sauvegarde sont stockés à l’emplacement défini dans la commande de sauvegarde.

5. Comment surveiller les tâches de pgAgent ?
* Vérifiez la section Tâches de la fenêtre Agent dans pgAdmin.

6. Peut-on sauvegarder les données dans un service de stockage cloud ?
* Oui, utilisez les arguments de la commande `pg_dump` pour spécifier un emplacement de stockage cloud.

7. Comment gérer les tâches de pgAgent à distance ?
* Utilisez l’utilitaire en ligne de commande `pgagentctl` ou l’extension `pgagent_admin`.

8. Existe-t-il d’autres solutions pour automatiser les sauvegardes PostgreSQL ?
* Oui, des alternatives existent, telles que pgBackRest ou Barman.