dbgate-pg-dumper: copias de seguridad de PostgreSQL sin pg_dump

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

Crear una copia de seguridad de PostgreSQL normalmente requiere la herramienta de línea de comandos pg_dump. Debe instalarse por separado, estar disponible en la ruta del sistema y ser compatible con el servidor de PostgreSQL. Esto puede complicar la configuración de las copias de seguridad, especialmente en aplicaciones de escritorio y contenedores Docker.

Creamos dbgate-pg-dumper para facilitar esto. Es un motor de copia de seguridad y restauración de PostgreSQL escrito en TypeScript que se ejecuta directamente dentro de DbGate o de otra aplicación Node.js. No se requiere ningún proceso externo pg_dump ni psql.

Ver dbgate-pg-dumper en npm →

Copia de seguridad de PostgreSQL integrada en DbGate

DbGate Community usa dbgate-pg-dumper como su opción integrada de copia de seguridad y restauración de PostgreSQL. Puede crear una copia de seguridad en SQL plano desde la interfaz de DbGate sin instalar herramientas adicionales de PostgreSQL.

El generador de copias incluye tanto el esquema de la base de datos como los datos de las tablas. Reconoce objetos comunes de PostgreSQL como tablas, columnas, índices, restricciones, secuencias, vistas, funciones, disparadores, extensiones, comentarios, propiedad y permisos.

DbGate Premium añade más control, incluida la posibilidad de seleccionar tablas individuales y elegir la versión de PostgreSQL de destino.

Diseñado para bases de datos grandes

El generador de copias no carga la base de datos completa en memoria. Las filas de las tablas se leen y escriben de forma gradual, por lo que el mismo proceso puede gestionar tanto bases de datos pequeñas como tablas que contienen grandes cantidades de datos.

La salida predeterminada usa el eficiente formato COPY de PostgreSQL. También están disponibles las instrucciones INSERT y INSERT con columnas cuando se prefiere un archivo SQL más legible o portátil.

Durante la copia de seguridad, DbGate puede mostrar la fase actual, las tablas procesadas, el número de filas, las advertencias y los errores. La operación también se puede cancelar de forma segura.

Copias de seguridad coherentes y compatibles

De forma predeterminada, una copia de seguridad completa usa una única conexión física a PostgreSQL y lee el esquema y los datos de las tablas dentro de una sola transacción de solo lectura con nivel de aislamiento repeatable-read. Esto proporciona una instantánea MVCC coherente, evitando que el esquema y los datos de las tablas se observen en momentos diferentes mientras la base de datos está cambiando. Esta garantía no se aplica cuando las transacciones están deshabilitadas; al usar una transacción existente, su nivel de aislamiento lo controla quien la invoca.

Cuando se selecciona una versión de PostgreSQL de destino, el generador de copias comprueba si las funciones exportadas son compatibles con dicha versión. Si algo no es compatible, muestra una advertencia clara o detiene la operación según la configuración seleccionada. Esto resulta útil al mover una base de datos entre diferentes versiones de PostgreSQL.

Restauración en SQL plano

dbgate-pg-dumper puede restaurar los archivos SQL que crea. También puede leer la salida compatible en SQL plano generada por pg_dump --format=plain.

La restauración se ejecuta de forma progresiva e informa de las operaciones completadas y las filas restauradas. Gestiona correctamente los cuerpos de funciones de PostgreSQL, los comentarios, los identificadores entre comillas y los bloques de datos COPY ... FROM STDIN.

El flujo de restauración actual se centra en archivos SQL plano en UTF-8. Este lector no admite los formatos de archivo personalizado, tar ni de directorio de PostgreSQL.

También disponible como paquete npm

Aunque se creó para DbGate, el generador de copias es independiente del resto de la aplicación. Los desarrolladores de Node.js pueden instalar el paquete público dbgate-pg-dumper y usar su API de copia de seguridad y restauración en sus propios proyectos.

El paquete también funciona con bases de datos de PostgreSQL alojadas. Por ejemplo, puede usar dbgate-pg-dumper directamente en una aplicación Node.js para crear una copia de seguridad de la base de datos Neon, guardando su esquema y datos como un archivo SQL plano local sin instalar pg_dump.

La versión 1.0.0 admite módulos ES y CommonJS y requiere Node.js 20 o una versión posterior. Se incluye un adaptador para el popular controlador pg, aunque la API principal también se puede conectar a otro cliente de PostgreSQL.

Con dbgate-pg-dumper, las copias de seguridad de PostgreSQL son más fáciles de ejecutar en entornos de escritorio, servidor y Docker, a la vez que permanecen disponibles como archivos SQL comunes y portátiles.