FAQ
Common questions about branching, replication, and what anybranch does and does not do.
How fast is a branch, really?
Branch time does not grow with data size. Measured on an M5 Pro laptop (APFS): a Postgres branch of an 88 GB / 600M-row database takes about 0.3 s from a stopped parent and 0.6 s from a running one. Two clones of that database consumed no measurable extra disk. Prepared snapshots claim in well under a second.
Does a branch get new production changes after it is created?
No. A branch is a point-in-time copy of the replica at the moment you branched. After that it is isolated. The replica keeps syncing; run reset to re-clone a branch from the current replica.
Do schema changes on production reach branches?
Yes for the replica. Postgres replays DDL through an event trigger (or reconcile without superuser); MySQL replicates DDL natively; MongoDB replicates index and collection changes. New branches made after a migration include it.
Which engines are supported?
Postgres, MySQL, MongoDB, and SQLite. Hosted branching products are Postgres-only.
Is my data sent anywhere?
No. anybranch is self-hosted. The replica and every branch live on a server you run; nothing leaves your infrastructure and there is no telemetry.
What is intentionally not here?
No accounts, organizations, teams, roles, billing, or bring-your-own-cloud. anybranch is one server with one admin token. Those are multi-tenant SaaS concerns; if you need shared access, run the server where your team can reach it.
What are the known limits?
- Postgres DDL replay uses the whole client query string; migration tools that send one statement per query are exact, but a single query mixing DDL and DML replays the DML too.
- On a filesystem without reflink, branches fall back to full copies (branch storage is no longer free).
- Branch URLs are on the server’s
--public-host; there is no managed routing layer.