dbgate-pg-dumper: backup di PostgreSQL senza pg_dump
Published: 2026-08-07 | Stela Augustínová
Creare un backup di PostgreSQL richiede solitamente lo strumento da riga di comando pg_dump. Deve essere installato separatamente, disponibile nel percorso di sistema e compatibile con il server PostgreSQL. Questo può rendere più difficile la configurazione del backup, specialmente nelle applicazioni desktop e nei container Docker.
Abbiamo creato dbgate-pg-dumper per semplificare tutto questo. È un motore di backup e restore per PostgreSQL scritto in TypeScript che viene eseguito direttamente all’interno di DbGate o di un’altra applicazione Node.js. Non è richiesto alcun processo esterno pg_dump o psql.
Vedi dbgate-pg-dumper su npm →
Backup di PostgreSQL integrato in DbGate
DbGate Community utilizza dbgate-pg-dumper come opzione integrata per il backup e il restore di PostgreSQL. Puoi creare un backup in SQL semplice direttamente dall’interfaccia di DbGate senza installare strumenti PostgreSQL aggiuntivi.
Il dumper include sia lo schema del database che i dati delle tabelle. Comprende i comuni oggetti PostgreSQL come tabelle, colonne, indici, vincoli, sequenze, viste, funzioni, trigger, estensioni, commenti, proprietà e permessi.
DbGate Premium aggiunge un controllo maggiore, inclusa la possibilità di selezionare singole tabelle e scegliere la versione PostgreSQL di destinazione.
Progettato per database di grandi dimensioni
Il dumper non carica l’intero database in memoria. Le righe delle tabelle vengono lette e scritte in modo progressivo, così lo stesso processo può gestire sia database piccoli che tabelle contenenti grandi quantità di dati.
L’output predefinito utilizza il formato efficiente COPY di PostgreSQL. Sono disponibili anche istruzioni INSERT e INSERT con colonne quando si preferisce un file SQL più leggibile o portabile.
Durante il backup, DbGate può mostrare la fase corrente, le tabelle elaborate, il conteggio delle righe, gli avvisi e gli errori. L’operazione può anche essere annullata in modo sicuro.
Backup coerenti e compatibili
Per impostazione predefinita, un backup completo utilizza una singola connessione fisica a PostgreSQL e legge lo schema e i dati delle tabelle all’interno di un’unica transazione di sola lettura con livello di isolamento repeatable-read. Questo fornisce uno snapshot MVCC coerente, evitando che lo schema e i dati delle tabelle vengano osservati in momenti diversi mentre il database è in fase di modifica. Questa garanzia non si applica quando le transazioni sono disabilitate; quando si utilizza una transazione esistente, il suo livello di isolamento è controllato dal chiamante.
Quando viene selezionata una versione PostgreSQL di destinazione, il dumper verifica se le funzionalità esportate sono supportate da quella versione. Se qualcosa non è compatibile, viene segnalato un avviso chiaro oppure l’operazione viene interrotta in base alle impostazioni selezionate. Questo è utile quando si sposta un database tra diverse versioni di PostgreSQL.
Restore in SQL semplice
dbgate-pg-dumper può ripristinare i file SQL che crea. Può anche leggere output compatibili in SQL semplice prodotti da pg_dump --format=plain.
Il restore viene eseguito in modo progressivo e segnala le operazioni completate e le righe ripristinate. Gestisce correttamente i corpi delle funzioni PostgreSQL, i commenti, gli identificatori tra virgolette e i blocchi di dati COPY ... FROM STDIN.
L’attuale flusso di restore è incentrato sui file SQL semplice in UTF-8. I formati di archivio PostgreSQL custom, tar e directory non sono supportati da questo lettore.
Disponibile anche come package npm
Sebbene sia stato creato per DbGate, il dumper è indipendente dal resto dell’applicazione. Gli sviluppatori Node.js possono installare il package pubblico dbgate-pg-dumper e utilizzare la sua API di backup e restore nei propri progetti.
Il package funziona anche con database PostgreSQL ospitati. Ad esempio, puoi usare dbgate-pg-dumper direttamente in un’applicazione Node.js per creare un backup del database Neon, salvando il suo schema e i suoi dati come file SQL semplice locale senza installare pg_dump.
La versione 1.0.0 supporta i moduli ES e CommonJS e richiede Node.js 20 o versioni successive. È incluso un adattatore per il driver pg, molto diffuso, mentre l’API principale può essere collegata anche a un altro client PostgreSQL.
Con dbgate-pg-dumper, i backup di PostgreSQL diventano più facili da eseguire su ambienti desktop, server e Docker, rimanendo disponibili come normali file SQL portabili.