AWS recently announced ExtendDB, a DynamoDB-compatible adapter that lets developers use the DynamoDB API with different storage backends, starting with PostgreSQL. The open source project supports existing AWS SDKs and tools without modification, giving teams greater flexibility to run DynamoDB-style workloads outside of native DynamoDB while maintaining compatibility with current applications and workflows.
Currently at version 0.1, ExtendDB implements DynamoDB control plane and data plane APIs, including support for tables, items, and streams. Its initial storage backend is PostgreSQL, while the adapter’s pluggable design allows additional backends to be added independently. It can be used for local development, CI testing, and running DynamoDB-compatible workloads in on-premises environments backed by PostgreSQL databases. Lee Hannigan, senior database engineer at AWS, and Deepthi Mohan, principal product manager at AWS, explain:
ExtendDB is an implementation of the DynamoDB wire protocol, written in Rust and developed by AWS engineers. Think of it as a translator sitting between your application and your storage backend. If you use the PostgreSQL reference backend, your application speaks DynamoDB, ExtendDB translates to SQL, and PostgreSQL handles the storage.

Source: AWS blog
ExtendDB runs as a single binary with no external runtime dependencies. It requires TLS, generating a self-signed certificate on first run, and supports SigV4 authentication through a local IAM-like credential store compatible with standard DynamoDB signing workflows. Hannigan and Mohan add:
ExtendDB separates concerns into Rust crates. The core crate handles types, validation, and expression evaluation as pure synchronous Rust. The engine crate implements DynamoDB API semantics. The storage-postgres crate is the PostgreSQL backend, built against a storage trait that defines the interface any backend must implement. The server crate ties it together with an HTTP server, management API, and web console.
The storage layer is defined as a Rust trait, allowing additional backends such as Apache Cassandra or MySQL to be added without modifying the core adapter. Answering questions about the differences with DynamoDB Local, Hannigan clarifies on LinkedIn:
Initially, in the current version it doesn't differ that much except you can use Postgres. But as we progress, it'll have more parity with DynamoDB and potentially be suitable to run for production workloads. Think of when some of your application must remain on prem for compliance reasons etc.
While Corey Quinn opened a PR to add a Route53 backend, in a popular Reddit thread, user Akustic646 comments:
Will be really interesting to see where people go with this, sort of surprised AWS is offering this up.
User Dull-Mathematician45 writes instead:
Sadly the performance is not good (yet). Latency shoots up under high write load. I'm seeing 300ms p90 latency on update_item commands. and it causes reads to reach 20ms p90. This is hitting it with concurrency 10 on a 16 core MacBook.
A similar Rust project, called Rektifier, was being developed independently before ExtendDB’s release, reflecting broader interest in DynamoDB-compatible, PostgreSQL-backed proxies. Its author, Jake Larkin, also claims stronger early performance results.
Available on GitHub under an Apache-2.0 license, ExtendDB runs on Linux and macOS and requires Rust 1.85+ and PostgreSQL 14+.