dbgate-pg-dumper: Zálohy PostgreSQL bez pg_dump
Published: 2026-08-07 | Stela Augustínová
Vytvorenie zálohy PostgreSQL obvykle vyžaduje príkazový nástroj pg_dump. Musí byť nainštalovaný samostatne, dostupný v systémovej ceste a kompatibilný so serverom PostgreSQL. To môže sťažiť nastavenie zálohovania, najmä v desktopových aplikáciách a kontajneroch Docker.
Vytvorili sme dbgate-pg-dumper, aby sme to zjednodušili. Je to nástroj na zálohovanie a obnovenie PostgreSQL napísaný v TypeScripte, ktorý beží priamo v DbGate alebo v inej Node.js aplikácii. Nie je potrebný žiadny externý proces pg_dump ani psql.
Zobraziť dbgate-pg-dumper na npm →
Záloha PostgreSQL vstavaná v DbGate
DbGate Community používa dbgate-pg-dumper ako svoju vstavanú možnosť zálohovania a obnovenia PostgreSQL. Zálohu vo formáte plain-SQL môžete vytvoriť z rozhrania DbGate bez nutnosti inštalovať ďalšie nástroje PostgreSQL.
Nástroj zálohuje ako schému databázy, tak aj dáta tabuliek. Rozumie bežným objektom PostgreSQL, ako sú tabuľky, stĺpce, indexy, obmedzenia, sekvencie, zobrazenia, funkcie, spúšťače, rozšírenia, komentáre, vlastníctvo a oprávnenia.
DbGate Premium prináša viac kontroly, vrátane možnosti vybrať jednotlivé tabuľky a zvoliť cieľovú verziu PostgreSQL.
Navrhnuté pre veľké databázy
Nástroj nenačítava celú databázu do pamäte. Riadky tabuliek sa čítajú a zapisujú postupne, takže rovnaký proces zvládne malé databázy aj tabuľky obsahujúce veľké množstvo dát.
Výstup v predvolenom nastavení používa efektívny formát COPY PostgreSQL. K dispozícii sú aj príkazy INSERT a INSERT s uvedením stĺpcov, ak je požadovaný čitateľnejší alebo prenosnejší SQL súbor.
Počas zálohovania môže DbGate zobrazovať aktuálnu fázu, spracované tabuľky, počty riadkov, varovania a chyby. Operáciu je možné bezpečne aj zrušiť.
Konzistentné a kompatibilné zálohy
Kompletná záloha predvolene používa jedno fyzické spojenie PostgreSQL a číta schému a dáta tabuliek v rámci jednej transakcie typu read-only, repeatable-read. To poskytuje konzistentný MVCC snímok, ktorý zabraňuje tomu, aby sa schéma a dáta tabuliek pozorovali v rôznych okamihoch počas zmien databázy. Táto záruka neplatí, keď sú transakcie vypnuté; pri použití existujúcej transakcie určuje jej úroveň izolácie volajúci.
Keď je vybraná cieľová verzia PostgreSQL, nástroj skontroluje, či sú exportované funkcie touto verziou podporované. Ak niečo nie je kompatibilné, nahlási zrozumiteľné varovanie alebo operáciu zastaví, podľa zvolených nastavení. To je užitočné pri presúvaní databázy medzi rôznymi verziami PostgreSQL.
Obnovenie z plain-SQL
dbgate-pg-dumper vie obnoviť SQL súbory, ktoré sám vytvorí. Vie tiež čítať kompatibilný výstup plain-SQL vytvorený pomocou pg_dump --format=plain.
Obnovenie prebieha postupne a hlási dokončené operácie a obnovené riadky. Správne spracúva telá funkcií PostgreSQL, komentáre, citované identifikátory a bloky dát COPY ... FROM STDIN.
Aktuálny pracovný postup obnovenia sa zameriava na súbory plain-SQL v kódovaní UTF-8. Formáty archívov PostgreSQL custom, tar a directory nie sú touto čítačkou podporované.
Dostupné aj ako balík npm
Hoci bol nástroj vytvorený pre DbGate, je nezávislý od zvyšku aplikácie. Vývojári v Node.js môžu nainštalovať verejný balík dbgate-pg-dumper a používať jeho API na zálohovanie a obnovenie vo vlastných projektoch.
Balík funguje aj s hostovanými databázami PostgreSQL. Napríklad dbgate-pg-dumper môžete použiť priamo v Node.js aplikácii na vytvorenie Neon database backup, čím uložíte jej schému a dáta ako lokálny plain-SQL súbor bez nutnosti inštalovať pg_dump.
Verzia 1.0.0 podporuje ES moduly aj CommonJS a vyžaduje Node.js 20 alebo novší. Súčasťou je adaptér pre populárny driver pg, pričom jadro API sa dá pripojiť aj k inému klientovi PostgreSQL.
S dbgate-pg-dumper je jednoduchšie spúšťať zálohy PostgreSQL na desktopoch, serveroch aj v prostredí Docker, a zároveň zostávajú dostupné ako obyčajné, prenosné SQL súbory.