FoxByte
Postgres branching

Branch your Postgres database on your own servers

A branch is a complete, writable copy of your database, made in seconds on machines you control. Nothing is copied until it changes, each branch gets its own connection string, and idle branches sleep.

$ fox branch create qa
main
qa
0 of 48 blocks written48 still shared with main
How it works

Copy-on-write, then a Postgres of its own

  1. 1

    Snapshot and clone

    The data directory lives on ZFS, or btrfs in the Windows distro. A branch is a clone of a snapshot of it, so making one copies no data.

  2. 2

    Its own Postgres

    Each branch runs its own PostgreSQL, so a heavy query or a broken migration on one never touches another.

  3. 3

    One address

    The gateway routes by database name: the same host and port, with the branch’s name as the database.

Day to day

Make it, use it, throw it away

Branch main, or another branch, connect with the branch’s name as the database, reset it to its parent when you want a clean copy, and delete it when you are done. A branch nobody uses is suspended, and wakes on the next connection.

$ fox branch create qa
$ psql "postgresql://dbadmin:<API_KEY>@localhost:6432/qa?sslmode=require"
$ fox branch reset qa
$ fox branch delete qa
Why on your own servers

What self-hosting changes

  • Your data never leaves your machines to make a copy of it, so a branch of production data stays as private as production.
  • No bill per branch or per hour: a branch costs the disk its changes use.
  • Once installed, branching works without an internet connection.
  • It is stock PostgreSQL 18, so every extension, driver and tool you use today works on a branch.

Questions about branching

Making a branch copies no data, so it does not grow with the database. What grows is the disk each branch uses as it changes.

Yes. Each runs its own PostgreSQL, and other people’s branches are not listed and answer “not found”, through the gateway too.

On main, yes: from just before any Blackbox entry, or by restoring to any second in the archived window.

Yes. The Agent Branch API and fox mcp hand each agent its own branch and a key that opens nothing else.

Spin up a branch in seconds.

Install FoxByte in a few minutes, then fox branch create.

$ curl -fsSL https://get.thefoxbyte.com/install.sh | sh