Instant Copy-on-Write branching
Built-in data anonymization
Separation of storage and compute
100% vanilla Postgres
It’s for staging/dev environments as well as for production workloads.
Blog post: xata.io/blog/xata-po...
And more details in 🧵
Schema changes are now emitted directly into WAL as logical messages, without schema logs or stored schema state.
If you work with Postgres CDC, this might be interesting.
Details in the blog 👇
xata.io/blog/pgstrea...
Schema changes are now emitted directly into WAL as logical messages, without schema logs or stored schema state.
If you work with Postgres CDC, this might be interesting.
Details in the blog 👇
xata.io/blog/pgstrea...
A domain is a custom data type with rules attached, and Postgres stores those CHECK constraints right in `pg_constraint` linked by `contypid` instead of `conrelid`.
A clean way to centralize data rules 👌
A domain is a custom data type with rules attached, and Postgres stores those CHECK constraints right in `pg_constraint` linked by `contypid` instead of `conrelid`.
A clean way to centralize data rules 👌
Read how we solved it👇🏽
We applied automatic batch size tuning to Postgres snapshots in pgstream to adapt across different network environments.
Check the post 👇
xata.io/blog/postgre...
Read how we solved it👇🏽
The blog posts are paired with demo videos, have a look 👀 👇🏽
Repo playbook: gh issue → xata branch create + xata branch wait-ready → xata branch url (not $DATABASE_URL) → psql repro/verify → fix.
Video + write-up:
The blog posts are paired with demo videos, have a look 👀 👇🏽
Feed it your schema + prompt → get a strict, reviewable anonymization config that’s typically more complete than static heuristics.
Blog post: xata.io/blog/smarter...
Feed it your schema + prompt → get a strict, reviewable anonymization config that’s typically more complete than static heuristics.
Blog post: xata.io/blog/smarter...
Feed it your schema + prompt → get a strict, reviewable anonymization config that’s typically more complete than static heuristics.
Blog post: xata.io/blog/smarter...
Repo playbook: gh issue → xata branch create + xata branch wait-ready → xata branch url (not $DATABASE_URL) → psql repro/verify → fix.
Video + write-up:
Repo playbook: gh issue → xata branch create + xata branch wait-ready → xata branch url (not $DATABASE_URL) → psql repro/verify → fix.
Video + write-up:
We applied automatic batch size tuning to Postgres snapshots in pgstream to adapt across different network environments.
Check the post 👇
xata.io/blog/postgre...
We applied automatic batch size tuning to Postgres snapshots in pgstream to adapt across different network environments.
Check the post 👇
xata.io/blog/postgre...
In Postgres 18, even NOT NULL constraints now get their own entries here (before 18 they lived in `pg_attribute`!).
In Postgres 18, even NOT NULL constraints now get their own entries here (before 18 they lived in `pg_attribute`!).
Keep prod on your infra. Stream a logical replica (WAL) into Xata, anonymize PII at ingest, then spin up copy-on-write Postgres branches in seconds - one per PR 👇
Keep prod on your infra. Stream a logical replica (WAL) into Xata, anonymize PII at ingest, then spin up copy-on-write Postgres branches in seconds - one per PR 👇
But some bugs *need* real data to reproduce.
Here’s how we teach Claude to debug safely using Xata database branches 👇
But some bugs *need* real data to reproduce.
Here’s how we teach Claude to debug safely using Xata database branches 👇
This shows how you can use the “scale to zero” feature of the Xata platform to improve feature development while keeping costs in check.
This shows how you can use the “scale to zero” feature of the Xata platform to improve feature development while keeping costs in check.
Types tell you *what* can be stored but constraints enforce *what must be true*.
If a row violates a rule, Postgres rejects it. No silent corruption.
A few well-chosen constraints prevent entire classes of bugs.
xata.io/blog/constra...
Types tell you *what* can be stored but constraints enforce *what must be true*.
If a row violates a rule, Postgres rejects it. No silent corruption.
A few well-chosen constraints prevent entire classes of bugs.
xata.io/blog/constra...
Here we experiment with giving AI agent tools to change environment variables in a repository that it checked out and it worked.
Here we experiment with giving AI agent tools to change environment variables in a repository that it checked out and it worked.
We explored giving AI agent access to the database branch, a compute sandbox to execute code and instructions to follow a developer workflow (in plain English) and the experiment was a success.
We explored giving AI agent access to the database branch, a compute sandbox to execute code and instructions to follow a developer workflow (in plain English) and the experiment was a success.
After 6 months of work, @SferaDev from Xata landed our biggest contribution yet to Keycloak: persistent Organization invitations.
Now merged, shipping in 26.5.0 🎉
Full write-up here 👇
After 6 months of work, @SferaDev from Xata landed our biggest contribution yet to Keycloak: persistent Organization invitations.
Now merged, shipping in 26.5.0 🎉
Full write-up here 👇
Xata engineer @richardgill.org shares a practical setup to:
- See agent-written changes instantly
- Reload git diffs in real time
- Yank code with file locations so Claude gets proper context
📝 Tips for configuring Neovim for Claude Code
xata.io/blog/configu...
Xata engineer @richardgill.org shares a practical setup to:
- See agent-written changes instantly
- Reload git diffs in real time
- Yank code with file locations so Claude gets proper context
📝 Tips for configuring Neovim for Claude Code
xata.io/blog/configu...
This release improves schema replication, adds snapshot index progress tracking, supports more cloud providers, introduces reconnection retries, integrates with PostgreSQL Anonymizer and includes memory improvements.
Big thanks to our community contributors 💜
This release improves schema replication, adds snapshot index progress tracking, supports more cloud providers, introduces reconnection retries, integrates with PostgreSQL Anonymizer and includes memory improvements.
Big thanks to our community contributors 💜
We traded Zoom for a shared table and left with sharper plans + stronger bonds.
We traded Zoom for a shared table and left with sharper plans + stronger bonds.
Our own Gülçin Yıldırım Jelínek is co-organizing two of them
☸️ PostgreSQL on Kubernetes Summit
🧠 PostgreSQL & AI Summit
Big thanks to the volunteers & speakers who made this happen.
Community is what makes Postgres great 💙
Our own Gülçin Yıldırım Jelínek is co-organizing two of them
☸️ PostgreSQL on Kubernetes Summit
🧠 PostgreSQL & AI Summit
Big thanks to the volunteers & speakers who made this happen.
Community is what makes Postgres great 💙
On Oct 21, @apatheticmagpie is co-hosting two community summits:
🧠 PostgreSQL & AI with Gulcin on DB Agents
☸️ PostgreSQL on Kubernetes with Esther Minano & Andrew Farries
On Oct 21, @apatheticmagpie is co-hosting two community summits:
🧠 PostgreSQL & AI with Gulcin on DB Agents
☸️ PostgreSQL on Kubernetes with Esther Minano & Andrew Farries
We reorganized the page and added search.
What changed
Search to jump directly to a setting.
Logical groups with clear labels.
Guardrails to reduce misclicks.
Why it helps
Quicker navigation.
Less guessing, safer edits.
Want early access? Ping us and we’ll enable it.
We reorganized the page and added search.
What changed
Search to jump directly to a setting.
Logical groups with clear labels.
Guardrails to reduce misclicks.
Why it helps
Quicker navigation.
Less guessing, safer edits.
Want early access? Ping us and we’ll enable it.