The short version: a copy of production per task, ready in seconds with copy-on-write, and a way to get real data into it without the PII.
wearedevelopers.com/world-co…
A coding agent wants a database per task: created when the work starts, removed when it ends. One shared staging database was never going to keep up.
Our CEO @monicasarbu on what to do instead, 2:50pm PT on Stage 2 at WeAreDevelopers in San José: "Databases in the Agent Era."
Live now: Graham walks through Account Observatory, the internal tool our GTM team built on one Postgres database.
30 minutes, then your questions.
youtube.com/watch?v=9ZHnGlX-…
One organization's first week in Account Observatory: signed up, first branch the same day, then instance hours and a payment method.
We built the tool to spot the customers who don't get this far, and reach out before they give up. When a cohort teaches us something new, we update the picture on a branch and ship it through a pull request.
Graham walks through the whole loop tomorrow at 8:30am PT. Free on YouTube, recording included.
youtube.com/watch?v=9ZHnGlX-…
Xata 🦋 retweeted
@xata for Postgres with CoW branching. We built it from the start with BYOC in mind.
Our GTM team built an internal tool to stay customer focused as a PLG-first company.
Account Observatory pulls PostHog, Pylon and Clarify into one Postgres database, so decisions about onboarding come from real customer behavior. Changes ship from a database branch through a pull request, live tool untouched.
Thu Sep 24, 8:30am PT, Graham walks through it. Free on YouTube, recording included.
youtube.com/watch?v=9ZHnGlX-…
Setup for Codex, ChatGPT and the other supported clients: xata.io/docs/platform/mcp
The server URL is api.xata.tech/mcp
Need production data to debug a slow query?
Normally, you have to:
• Isolate the data
• Debug the query
• Validate the fix
• Deploy the fix
With the Xata MCP server and Codex, you can do all of this just by talking to an agent. Branch your Postgres database in seconds, no matter how large it is, and let AI assist you with solving slow query issues.
Watch how it works 👇
You only need the URL: api.xata.tech/mcp
Any MCP client that speaks Streamable HTTP can connect, over OAuth in the browser or an API key for CI. Nothing to install locally.
Claude Code:
claude mcp add --transport http --scope user xata api.xata.tech/mcp
then run /mcp to sign in.
Works with Claude Code, Cursor, VS Code, Zed, Codex and any MCP client that supports Streamable HTTP: xata.io/docs/platform/mcp
With 78.7% of the rows tied on the value we sort by, the query wasn't deterministic. Which rows appeared on a page could change whenever the query plan changed. And it did, as soon as the agent ran ANALYZE.
That is not in the schema, and it is not in seeded data either, because nobody seeds 79% of a table at one value on purpose.
It deleted its branch on the way out. None of that was in the repo, and the repo is all an agent usually gets.
We asked a coding agent a routine question about our own analytics database: is this index worth adding.
It made itself a branch of the real database and went to measure. 2.1 million rows, and 78.7% of them hold the same value in the column we sort by.
Then it told us about a bug we had not asked about.
Xata is Postgres with copy-on-write branching. The MCP server is how a coding agent creates its own branch, works in it against real data, and deletes it when the run is over.
Branches are short-lived. While they’re active, you pay for compute and only for the data changes in the branch, not a full copy of production. That makes it cheap to create one per agent run, even for large databases.
Coding agents write and run SQL now. The same connection that lets one fix a query lets it drop a table.
Yours can work against real production data without working against production, and without seeded data that looks nothing like production.
Read more: xata.io/blog/introducing-the…
Xata is coming to Azure.
Branch-native Postgres. A copy-on-write branch of an existing database in seconds, whether the parent is 1GB or 1TB.
Xata branches only incur costs for changed data plus compute while awake. A sleeping branch is basically free.
Join the waitlist and we will tell you the moment it is ready.
xata.io/get/azure
Xata 🦋 retweeted
The security research done by @mdisec is incredibly valuable to @xata and the whole Postgres ecosystem. Tons of security fixes in various extensions and core Postgres have been merged lately thanks to his research.
I am very grateful for our collaboration!
I went looking for a managed-Postgres provider.
Instead, I found a vulnerability in a 4-star PostgreSQL extension available everywhere!
and turned it into code execution at @neondatabase, @supabase, @xata and more.
Part 1/6 | Extension Risks Are Real
mehmetince.net/part-1-6-syst…
pgp_sym_decrypt with the wrong key throws "Wrong key or corrupt data". It does not hand back garbage bytes.
That is the PGP format's integrity check, and it is a useful property if you are encrypting columns with a different key per tenant. A query that picks up the wrong tenant's key fails loudly, instead of returning plausible nonsense that nothing downstream is checking.
Read about it here: xata.io/blog/multi-tenant-by…





