Skip to main content
PercherPercher

Export PocketBase data

Download your database and files as a .tar.gz archive

Export your PocketBase database and uploaded files as a .tar.gz archive. Useful for local development, migrating to a different app, or keeping your own off-device backup.

Trigger an export

Dashboard: open your app → Data tab → Export data → click Export data. The browser downloads the archive directly — nothing is buffered on the server.

CLI:

bunx percher data export              # uses app name from percher.toml
bunx percher data export my-app       # explicit app name
bunx percher data export --out backup.tar.gz  # custom output path

The file is streamed straight to disk — it is never fully buffered in memory, so it works regardless of how large your data is.

What the archive contains

The archive is a snapshot of your PocketBase sidecar's pb_data directory:

pb_data/
  data.db          # SQLite database — all your collections and rows
  data.db-wal      # write-ahead log (if non-empty at snapshot time)
  storage/         # uploaded files, one subdirectory per collection record
  pb_migrations/   # JS migration files (if any)

The snapshot is taken while the PocketBase container is running. PocketBase writes the WAL to a temporary backup file atomically, so the exported data.db is always consistent — you won't get a torn database.

Browse the database locally

# Extract
tar -xzf my-app-pb-2026-05-03.tar.gz

# Query with sqlite3
sqlite3 pb_data/data.db "SELECT * FROM users LIMIT 10"

# Or open in a GUI — DB Browser for SQLite, TablePlus, etc.
open pb_data/data.db

Run PocketBase locally with the exported data

Download PocketBase for your platform from pocketbase.io, then point it at the extracted directory:

tar -xzf my-app-pb-2026-05-03.tar.gz

# macOS / Linux
./pocketbase serve --dir pb_data

# Windows
.\pocketbase.exe serve --dir pb_data

# Open http://127.0.0.1:8090/_/ — log in with your existing admin credentials

All your collections, rows, auth records, and files will be available exactly as they were on the server.

Import into a new Percher app

The export is a raw pb_data/ snapshot — not a PocketBase native backup ZIP, so it cannot be uploaded directly via the PocketBase admin backup UI. Two supported paths:

Option A — via local PocketBase (self-service)

# 1. Extract the archive
tar -xzf old-app-pb-2026-05-03.tar.gz

# 2. Run PocketBase locally pointing at the extracted data
./pocketbase serve --dir pb_data
# Open http://127.0.0.1:8090/_/ and log in

# 3. Create a native PocketBase backup
#    Admin UI → Settings → Backups → Create backup
#    Download the generated .zip file

# 4. Upload to the new app
#    Open https://pb-new-app.percher.run/_/ → Settings → Backups → Upload backup
#    Select the .zip from step 3 → Restore

Option B — platform-side migration (support)

Email support@percher.app with the source and target app names. We copy the pb_data volume directly between containers — no manual steps needed on your end.

Rate limits

PlanExports per app per 24 h
Free1
Maker2
Pro5
Enterprise50

The limit is per app, not per account. Each export attempt counts — if the browser tab is closed mid-download, the slot is still consumed.

PrevPocketBase — database, auth & filesNextpercher.toml — full reference
Export PocketBase data — Percher docs