Logical backup
A logical backup is pg_dump. ide99 runs it through UI with clear options: what to include, how to compress, where to save. Restore via pg_restore is also UI.
Open
+ New tab → Backup Center. Inside — two tabs: Backup and Restore.
The backup feature requires the pg_dump, pg_restore, pg_basebackup utilities to be available on the machine running ide99. On macOS they ship with Postgres.app or brew install libpq. On Linux — apt install postgresql-client-17 (or matching version).
Backup
The backup form:
Source
- Connection — pick the connection
- Scope:
- Full database — entire DB
- Schemas — pick one or more
- Tables — pick specific tables (with an "Estimated size" column)
What to include
- Data ✓ — table data
- Schema ✓ — DDL (CREATE TABLE, CREATE INDEX, etc.)
- Owners — ownership (
OWNER TO)
- Privileges —
GRANT/REVOKE
- Roles — role definitions (only for full DB dumps)
Format
- Custom (
-Fc) — recommended. Binary format, can be restored in parallel via pg_restore -j.
- Directory (
-Fd) — directory of files. Supports parallel dump (-j) and parallel restore.
- Plain (
-Fp) — .sql file, human-readable. For small DBs and schema snapshots.
- Tar (
-Ft) — legacy, not recommended.
Compression
- None — fastest, but largest
- gzip (default level 6) — standard
- lz4 — faster decompression, slightly larger size
- zstd — best size/speed (requires Postgres ≥ 16)
Parallelism
- Jobs — for
directory format: number of parallel workers
Destination
- Path — where to save. ide99 suggests
~/ide99-backups/<db>-<date>.dump by default.
The Start backup button runs pg_dump with the assembled options. ide99 shows live progress: percentage, speed, what's happening right now (dumping table public.events).
Restore
The restore form:
- Source file — pick a previously created backup (custom, directory, or plain
.sql)
- Target connection — where to restore (a separate connection, usually to a dev DB)
- Mode:
- Restore everything
- Schema only — structure only, no data
- Data only — data only (structure must already exist)
- Specific schemas/tables — restore selectively
- Drop and recreate —
DROP TABLE before restoring (dangerous — requires confirmation)
ide99 runs pg_restore (or psql for plain format) with progress.
Schedule
At the bottom of the backup form — Schedule button. Wizard:
- Frequency: daily / weekly / custom cron
- Time: when to run
- Retention: how many recent backups to keep (older ones drop automatically)
The schedule only runs while ide99 is running. It's a desktop app, not a server. For serious prod scheduling, use server-side cron + pg_dump or your provider's managed service.
Where to store backups
ide99 writes to the local file system. After that — your call:
- Local disk — for routine dev snapshots
- External drive — for quick offline copying
- S3 / B2 / any object storage — set up
rclone or aws s3 cp on top
What it doesn't do
- Doesn't encrypt backups. If needed —
gpg --encrypt after pg_dump.
- Doesn't upload to cloud. Local only.
- Doesn't do point-in-time recovery (PITR) — for that you need base backup + WAL archive, see Base backup.
Next