What if database branching was easy?

Devs cheer “Copy‑on‑WOW” while old‑timers say “been there”

TLDR: Xata says you can spin up fresh database sandboxes without copying everything, thanks to a “only save changes” trick. The community split fast: veterans claim it’s old news, DIYers say they can roll it themselves, and vendor‑watchers sparked Neon vs PlanetScale vs Xata debates—because faster, realistic testing could change daily dev work.

Xata just open-sourced its database and pitched an idea that sounds like a magic trick: make a fresh “test sandbox” without copying the whole thing. Instead, with copy‑on‑write (only save what changes), you get branches fast and cheap. No more waiting on monster seed scripts—those long setup files that start simple and grow into chaotic chores.

The crowd? Loud and split. One veteran, recalling an Oracle era, swears “each developer had their own playground,” basically calling today’s hype a 90s rerun. The DIY brigade stormed in too: one user bragged they’ve done this with Linux file systems (think “copy only the changed blocks”) and plain Postgres—no fancy platform needed. Meanwhile, another commenter turned it into a vendor showdown: “Used Neon, now on PlanetScale—so how’s Xata do it?” Cue the brand‑vs‑brand face‑off.

Fans love that realistic branches expose real headaches before launch. One commenter’s vibe: rehearsal on tiny fake data is a feel‑good montage; try it with real data and suddenly that “2‑second” index change takes 40 seconds—and that’s the point. Skeptics, though, poked at Xata’s deep dive, worrying about extra database instances and network storage complexity. Hype vs. headcount.

Jokes flew about “seed.ts” becoming a 500‑line sourdough starter, and commenters dubbed the new approach copy‑on‑WOW. Whether you call it old news with new polish or a genuine productivity bomb, the community’s drama made one thing clear: if branching really is this easy, the seed script era may finally be on notice.

Key Points

  • Seeding is simple for small datasets but becomes slow and maintenance-heavy as systems grow, and can drift from production realities.
  • Traditional database branching is seen as expensive due to full database copies (pg_dump/pg_restore), time costs, and doubled storage.
  • Copy-on-write (CoW) avoids full copies at branch creation; branches share data with the parent until changes occur.
  • WAL-level CoW (e.g., Neon) treats branches as pointers into the WAL, reading from parent storage and writing to child layers.
  • Block-level CoW via volume snapshots (e.g., Xata) boots new Postgres instances from snapshots, with storage costs tied to changed blocks.

Hottest takes

"each developer had their own playground of the giant database" — comrade1234
"i was using neon and they had some similar feature but now using planetscale" — theaniketmaurya
"You don’t need anything but vanilla pg and a supported file system" — sastraxi
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.