Docs · DBCatz

Export, import and backup

Every DBCatz export format per engine, what Import takes, .tar.gz backups and the Jobs panel that runs them in the background.

DBCatz moves data in and out in three ways: Export… for tables, Import… for files, and Backup as .tar.gz… for whole databases. All three run as background jobs, so the window stays usable meanwhile.

Export

Open it with File → Export… (mod+E), Export at the foot of the sidebar, Export Table… in a table’s menu, or Export N Tables… for a selection. The dialog is Export from <db>.

Export formats per engine

Format What you get Engines
SQL CREATE + INSERT statements MySQL, MariaDB, PostgreSQL, SQLite
CSV One header row, then the rows All
JSON NDJSON — one object per line, in a .ndjson file. Several tables add a _table field to each line. All
XML <database><table><row>… All
DOT A Graphviz diagram of the tables and their foreign keys SQL engines
Redis script SET / RPUSH … lines for redis-cli Redis, Valkey

There is no plain JSON-array export; JSON is always NDJSON.

What to export

  • The table list has All, Each and a filter. With nothing ticked, every table is exported.
  • Redis / Valkey: Keys matching — a pattern for the keys to export.
  • SQL options: Structure (CREATE), Data (INSERT) and DROP IF EXISTS first.

Press Save as…. The file is suggested in Downloads as <db>.<ext> or <db>-<table>.<ext>.

Elasticsearch exports scroll through every document, 500 at a time.

Import

File → Import… (mod+I) or Import at the foot of the sidebar opens Import into <db>. Pick What to import:

Choice Files Engines
SQL file or backup .sql, .sql.gz, and DBCatz or DevCatz .tar.gz backups SQL engines
CSV into a table .csv SQL engines, MongoDB, Elasticsearch
JSON / NDJSON .json, .ndjson MongoDB, Elasticsearch
Redis script or backup A Redis script or a .tar.gz backup Redis, Valkey

Press Choose file…. When the import is done, the connection’s tables are refreshed.

How each import runs

  • SQL runs statement by statement and stops at the first error.
  • A backup restores each database it holds, creating the ones that are missing.
  • CSV — tick First row has column names if it has a header. Rows are inserted one by one; empty cells become NULL where the column allows it. The target is an existing table for SQL engines; for MongoDB and Elasticsearch the collection or index is made when missing.

Backup as .tar.gz

File → Backup as .tar.gz… (mod+shift+B) backs up several databases into one file.

  • Tick the databases to include. System databases are unticked by default. All / None, and a search box when there are more than 8.
  • Each database becomes one file inside the archive — a .sql dump, a .redis script or an .ndjson file — plus a manifest, all gzipped.
  • The default name is <connection>-<YYYY-MM-DD-HH-MM>.tar.gz, in Downloads.

To restore, open Import… and choose the .tar.gz (SQL file or backup, or Redis script or backup). Backups made by DevCatz import the same way.

The Jobs panel

Export, import and backup dialogs close as soon as you have chosen the file. The work goes on in the Jobs panel — the Jobs button top right of the window, with a count badge and a dot while a job runs. A toast tells you when a job ends.

Each job shows its progress, with:

  • Reveal — show the file in FinderFile Explorer;
  • Cancel — an export or backup removes the half-written file; an import keeps the rows already written;
  • ✕ — remove the job from the list.

Clear finished removes all finished jobs. Removing a job never touches its file — exports and backups stay where you saved them.

If you restart DBCatz to install an update while jobs are running, it lists them first and asks before going on.

Last updated 2026-11-01