AWS Releases ExtendDB: A DynamoDB API Backed by Postgres
AWS team members launched ExtendDB version 0.1, a DynamoDB wire protocol-compatible server that stores all items directly inside PostgreSQL.

Stock photo for illustration only, not from the actual event
- AWS released ExtendDB, a mock DynamoDB server storing data in PostgreSQL.
- Supports core features including Query, Scan, GSI, TTL, and pgvector.
- Targeted specifically for local development, testing, and CI environments.
On May 20, 2026, two members of the DynamoDB team released ExtendDB, an Apache 2.0 server that speaks the DynamoDB wire protocol and keeps every item inside PostgreSQL. Your development SDK believes it is communicating directly with DynamoDB, while underneath sits a standard Postgres database that you can access using the psql command-line interface.
This underlying visibility is the key differentiator. DynamoDB has historically kept its storage mechanisms hidden from developers. With ExtendDB, items are mapped into ordinary SQL tables, allowing developers who have sketched single-table designs on whiteboards to actually inspect the resulting database tables directly.

Stock photo for illustration only, not from the actual event
Written in Rust and maintained by AWS, the project's README describes it as a clean-room implementation of the DynamoDB wire protocol. Introduced initially as version 0.1, the repository has since progressed to version 0.1.13, remaining in its early version lifecycle. It supports PostgreSQL 14 and newer as a reference backend, with mentions of MongoDB and SQLite support in documentation, alongside mandatory TLS and SigV4 request signing.
The introduction of ExtendDB highlights AWS's effort to bridge cloud-native NoSQL paradigms with the transparent debugging capabilities of relational databases like PostgreSQL. By translating single-table designs into visible Postgres rows, developers gain profound clarity into query execution, indexing behavior, and storage footprints during local testing.
Architecturally, ExtendDB maps table names to UUIDs in a catalog database while storing actual item attributes inside JSONB columns. Global Secondary Indexes (GSIs) are maintained as separate database tables, replicating DynamoDB's byte-order sorting behavior through specific collation settings. Although positioned primarily for development, testing, and CI pipelines, it provides deep relational insights into NoSQL schema modeling.
Source: Dev.to
Found something wrong in this article? Report an issue with this article
Comments
Leave a Comment