dbgate-pg-dumper : sauvegardes PostgreSQL sans pg_dump

Published: 2026-08-07 | Stela Augustínová

La création d’une sauvegarde PostgreSQL nécessite généralement l’outil en ligne de commande pg_dump. Il doit être installé séparément, disponible dans le chemin système, et compatible avec le serveur PostgreSQL. Cela peut compliquer la configuration des sauvegardes, en particulier dans les applications de bureau et les conteneurs Docker.

Nous avons créé dbgate-pg-dumper pour simplifier cela. C’est un moteur de sauvegarde et de restauration PostgreSQL écrit en TypeScript qui s’exécute directement au sein de DbGate ou d’une autre application Node.js. Aucun processus externe pg_dump ou psql n’est requis.

Voir dbgate-pg-dumper sur npm →

Sauvegarde PostgreSQL intégrée à DbGate

DbGate Community utilise dbgate-pg-dumper comme option intégrée de sauvegarde et de restauration PostgreSQL. Vous pouvez créer une sauvegarde SQL en texte clair directement depuis l’interface de DbGate, sans installer d’outils PostgreSQL supplémentaires.

Le programme de sauvegarde inclut à la fois le schéma de la base de données et les données des tables. Il comprend les objets PostgreSQL courants tels que les tables, colonnes, index, contraintes, séquences, vues, fonctions, déclencheurs, extensions, commentaires, propriété et permissions.

DbGate Premium offre un contrôle supplémentaire, avec notamment la possibilité de sélectionner des tables individuelles et de choisir la version PostgreSQL cible.

Conçu pour les grandes bases de données

Le programme de sauvegarde ne charge pas l’intégralité de la base de données en mémoire. Les lignes des tables sont lues et écrites progressivement, de sorte que le même processus peut gérer aussi bien de petites bases de données que des tables contenant de grandes quantités de données.

La sortie par défaut utilise le format efficace COPY de PostgreSQL. Les instructions INSERT et INSERT avec colonnes explicites sont également disponibles lorsqu’un fichier SQL plus lisible ou plus portable est préférable.

Pendant la sauvegarde, DbGate peut afficher la phase en cours, les tables traitées, le nombre de lignes, les avertissements et les erreurs. L’opération peut également être annulée en toute sécurité.

Sauvegardes cohérentes et compatibles

Par défaut, une sauvegarde complète utilise une seule connexion PostgreSQL physique et lit le schéma et les données des tables au sein d’une seule transaction en lecture seule, en niveau d’isolation repeatable-read. Cela fournit un instantané MVCC cohérent, évitant que le schéma et les données des tables soient observés à des moments différents pendant que la base de données change. Cette garantie ne s’applique pas lorsque les transactions sont désactivées ; lors de l’utilisation d’une transaction existante, son niveau d’isolation est contrôlé par l’appelant.

Lorsqu’une version PostgreSQL cible est sélectionnée, le programme de sauvegarde vérifie si les fonctionnalités exportées sont prises en charge par cette version. En cas d’incompatibilité, il signale un avertissement clair ou arrête l’opération selon les paramètres sélectionnés. Cela est utile lors du déplacement d’une base de données entre différentes versions de PostgreSQL.

Restauration SQL en texte clair

dbgate-pg-dumper peut restaurer les fichiers SQL qu’il crée. Il peut également lire une sortie SQL compatible en texte clair produite par pg_dump --format=plain.

La restauration s’exécute progressivement et signale les opérations terminées ainsi que les lignes restaurées. Elle gère correctement les corps de fonctions PostgreSQL, les commentaires, les identifiants entre guillemets et les blocs de données COPY ... FROM STDIN.

Le flux de restauration actuel se concentre sur les fichiers SQL en texte clair encodés en UTF-8. Les formats d’archive personnalisé, tar et répertoire de PostgreSQL ne sont pas pris en charge par ce lecteur.

Également disponible en tant que package npm

Bien qu’il ait été conçu pour DbGate, le programme de sauvegarde est indépendant du reste de l’application. Les développeurs Node.js peuvent installer le package public dbgate-pg-dumper et utiliser son API de sauvegarde et de restauration dans leurs propres projets.

Le package fonctionne également avec les bases de données PostgreSQL hébergées. Par exemple, vous pouvez utiliser dbgate-pg-dumper directement dans une application Node.js pour créer une sauvegarde de base de données Neon, en enregistrant son schéma et ses données dans un fichier SQL en texte clair local, sans installer pg_dump.

La version 1.0.0 prend en charge les modules ES et CommonJS et nécessite Node.js 20 ou une version plus récente. Un adaptateur pour le pilote populaire pg est inclus, tandis que l’API principale peut également être connectée à un autre client PostgreSQL.

Avec dbgate-pg-dumper, les sauvegardes PostgreSQL deviennent plus faciles à exécuter sur les environnements de bureau, serveur et Docker, tout en restant disponibles sous forme de fichiers SQL ordinaires et portables.