PostgreSQL vs DynamoDB for Solo Developers
Comparing PostgreSQL and DynamoDB for solo developers. Features, pricing, and which to pick.
Quick Comparison
| Feature | PostgreSQL | DynamoDB |
|---|---|---|
| Type | Relational database | Fully managed NoSQL (key-value/document) |
| Latest version | 18.4 (released 2026-05-14) | Managed service, no version to pin |
| License model | Open source (PostgreSQL License), self-host free | Proprietary AWS service, usage-billed only |
| Pricing | Free to self-host. Managed from $0 (Supabase Free, 500 MB) | On-demand $0.625 per million writes, $0.125 per million reads, $0.25 per GB-month. 25 GB free tier |
| Client library | node-postgres (pg) 8.21.0, 13.1k GitHub stars | @aws-sdk/client-dynamodb 3.1056.0, AWS SDK JS v3 has 3.6k stars |
| npm weekly downloads | pg: 29.3M/week | client-dynamodb: 7.1M/week |
| Learning Curve | Moderate | Hard (data modeling is unique) |
| Best For | Production apps needing reliability and advanced querying | AWS-native apps needing key-value storage at scale |
| Solo Dev Rating | 9/10 | 5/10 |
PostgreSQL Overview
PostgreSQL is the relational database I default to for every project. Tables, rows, columns, foreign keys, joins, aggregations, JSONB, full-text search. It handles structured data with the reliability that comes from decades of production use. You model your data naturally, query it with SQL, and use the same skills across every project.
The ecosystem is massive. Every ORM supports Postgres. Every cloud provider offers managed Postgres. Tools like Supabase and Neon give you free hosted Postgres with extra features. You are never stuck, never locked in, and never short on documentation.
DynamoDB Overview
DynamoDB is AWS's fully managed NoSQL database. It stores data as key-value pairs or documents with single-digit millisecond performance at any scale. Amazon manages everything: servers, replication, backups, and scaling. You define tables, partition keys, sort keys, and indexes, then let AWS handle the rest.
The free tier gives you 25 GB of storage and enough read/write capacity for small applications. Pay-per-request mode charges only for the operations you perform, which keeps costs low for sporadic traffic. Provisioned mode gives predictable pricing for steady workloads.
DynamoDB powers Amazon.com itself, along with thousands of other high-traffic applications. At massive scale, it is one of the most reliable databases available.
Key Differences
Data modeling is where most people give up on DynamoDB. PostgreSQL lets you model data naturally: users table, orders table, products table, join them with SQL. DynamoDB requires you to think about access patterns upfront and design your table structure around them. Single-table design, composite keys, and GSIs (Global Secondary Indexes) are concepts you must learn before DynamoDB makes sense. This learning curve is steep and unintuitive for anyone coming from relational databases.
Querying is radically limited in DynamoDB. No joins. No GROUP BY. No subqueries. No ad-hoc WHERE clauses on arbitrary columns. You can only query efficiently using your partition key and sort key, or through indexes you define ahead of time. Need to find all orders over $100 from last month grouped by category? That is one SQL query in Postgres. In DynamoDB, you need a specifically designed index or a full table scan.
Fully managed is genuinely zero-ops. DynamoDB requires no server management, patching, backups, or scaling decisions. It just works. PostgreSQL, even with managed providers, requires some decisions about instance size, connection pooling, and backup strategies. For a developer who never wants to think about database operations, DynamoDB delivers on that promise.
AWS lock-in is total. DynamoDB is a proprietary AWS service. There is no way to run it outside AWS (DynamoDB Local is for testing only). If you ever want to leave AWS, you rebuild your entire data layer. PostgreSQL runs anywhere, on any cloud, on any VPS, even on your laptop.
Cost can surprise you. DynamoDB pricing depends on read/write units, storage, and data transfer. A poorly designed access pattern can make costs spike. Scanning a large table is expensive. PostgreSQL on a VPS has a flat monthly cost regardless of how many queries you run. For a solo developer learning the ropes, predictable pricing is safer.
By the Numbers (2026)
Here is the verifiable state of both options as of late May 2026, checked against the vendors and registries.
PostgreSQL
- Current major version is 18, with the latest minor release 18.4 shipped on 2026-05-14. PostgreSQL 18 first released on 2025-09-25.
- Every major version gets 5 years of support from its initial release, so version 18 is supported through 2030-11-14. Five major lines (14 through 18) are under active maintenance right now.
- The default Node.js driver, node-postgres (
pg), sits at version 8.21.0 with about 13,141 GitHub stars and roughly 29.3 million npm downloads in the last week (2026-05-21 to 2026-05-27). - The newer
postgres.jsdriver adds another 8,651 GitHub stars, so the relational tooling around Postgres is deep and well maintained. - Managed Postgres starts at $0. Supabase Free gives you a 500 MB database on shared compute. Neon Free gives 0.5 GB storage plus 100 compute-hours per project per month.
DynamoDB
- There is no version to track. It is a managed AWS service, billed purely on usage.
- On-demand (pay-per-request) pricing in US East is $0.625 per million write request units, $0.125 per million read request units, and $0.25 per GB-month for standard-class storage.
- Provisioned capacity is $0.00065 per write capacity unit-hour and $0.00013 per read capacity unit-hour.
- The free tier covers 25 GB of storage plus 25 write and 25 read capacity units every month, on a per-Region, per-payer-account basis.
- The official client,
@aws-sdk/client-dynamodb, is at version 3.1056.0 with about 7.1 million npm downloads last week. The document-mapping helper@aws-sdk/lib-dynamodbadds another 4.2 million. The whole AWS SDK for JavaScript v3 monorepo carries 3,633 GitHub stars.
The download gap is the signal worth sitting with. The plain Postgres driver alone pulls more than four times the weekly installs of the DynamoDB client. That is the broader ecosystem mass you inherit when you pick Postgres.
Real Cost at Solo-Dev Scale
Pricing models this different only mean something against a concrete workload, so here is one. Assume a small app a solo developer might actually run, with stated assumptions you can swap out.
Workload assumptions
- 5 GB of stored data.
- 5 million writes per month.
- 20 million reads per month.
DynamoDB on-demand, US East
- Writes: 5 million writes is 5 write request units per million billed, so 5 times $0.625 equals $3.13.
- Reads: 20 million reads times $0.125 per million equals $2.50. (This assumes eventually-consistent reads at one read request unit per 4 KB item; strongly consistent reads cost double.)
- Storage: 5 GB at $0.25 per GB-month is $1.25 at list rate, but 5 GB sits entirely inside the 25 GB free tier, so storage is effectively $0.
- Monthly total: about $6.88 at pure list rates ($3.13 writes plus $2.50 reads plus $1.25 storage), dropping to roughly $5.63 once the free-tier storage allowance is applied, and lower still once free read and write allowances are counted.
The honest read here is that at this scale DynamoDB on-demand is cheap, often inside or near the free tier. Its cost risk is not the steady state, it is the scan. A single full-table scan or a mis-designed access pattern that forces scans turns those penny-per-million reads into a real bill, because a scan reads every item rather than the few you wanted.
Managed Postgres
- Supabase Free hosts 5 GB only if you upgrade, since the Free tier caps at 500 MB. On Supabase Pro the floor is $25 per month, which includes 8 GB of disk, so 5 GB fits with room to spare and the number of queries does not change the bill.
- Neon Launch is usage-metered with no monthly minimum: $0.35 per GB-month of storage and $0.106 per compute-hour. At 5 GB that is $1.75 of storage plus whatever compute your query volume actually wakes, so a low-traffic app can land well under Supabase's $25 floor.
What this means for a solo dev
At toy and early scale, both are cheap, and DynamoDB on-demand can be effectively free inside the 25 GB and free-request allowances. The difference is the shape of the risk. Postgres on a fixed managed plan gives you a flat, predictable number no matter how messy your queries get while you are learning. DynamoDB gives you per-request billing that rewards perfectly designed access patterns and quietly punishes the table scans a beginner is most likely to write. Predictability is worth more than a few dollars when you are still figuring out your data model.
(All rates above are list prices checked 2026-05-29. Confirm current pricing before you build a budget on them.)
When to Choose PostgreSQL
- You want flexible querying with SQL (joins, aggregations, ad-hoc queries)
- You value data modeling freedom without upfront access pattern design
- You want zero vendor lock-in
- You need reporting, analytics, or complex data relationships
- You want the simplest path from prototype to production
When to Choose DynamoDB
- You are building entirely within the AWS ecosystem
- Your access patterns are well-defined and will not change
- You need true zero-ops database management
- You are building a high-throughput application with simple key-value lookups
- You already understand DynamoDB's data modeling patterns
The Verdict
PostgreSQL is the better choice for solo developers by a wide margin. The 9/10 vs 5/10 gap reflects the reality that SQL gives you flexibility, DynamoDB's data modeling requires expertise that takes months to build, and AWS lock-in is a serious risk for someone who might want to switch providers later.
DynamoDB is powerful in the right context. If you are deep in the AWS ecosystem, understand single-table design, and your application fits the key-value access pattern, it performs brilliantly. But for a solo developer starting a project, PostgreSQL lets you model your data naturally, query it flexibly, and host it anywhere. Start with Postgres. If you specifically need DynamoDB's scale and ops model later, you will know it.
Sources
All figures checked on 2026-05-29.
- PostgreSQL current version (18.4, released 2026-05-14): https://www.postgresql.org/
- PostgreSQL versioning and 5-year support policy: https://www.postgresql.org/support/versioning/
- DynamoDB on-demand pricing ($0.625 per million writes, $0.125 per million reads, $0.25 per GB-month, 25 GB free tier): https://aws.amazon.com/dynamodb/pricing/on-demand/
- DynamoDB provisioned pricing ($0.00065 per WCU-hour, $0.00013 per RCU-hour, free-tier capacity units): https://aws.amazon.com/dynamodb/pricing/provisioned/
- Supabase pricing (Free 500 MB at $0, Pro from $25/month with 8 GB disk): https://supabase.com/pricing
- Neon pricing (Free 0.5 GB plus 100 CU-hours, Launch at $0.35 per GB-month and $0.106 per CU-hour): https://neon.com/pricing
- node-postgres (pg) GitHub repository, 13,141 stars: https://github.com/brianc/node-postgres
- postgres.js GitHub repository, 8,651 stars: https://github.com/porsager/postgres
- AWS SDK for JavaScript v3 GitHub repository, 3,633 stars: https://github.com/aws/aws-sdk-js-v3
- pg latest version (8.21.0): https://registry.npmjs.org/pg/latest
- @aws-sdk/client-dynamodb latest version (3.1056.0): https://registry.npmjs.org/@aws-sdk/client-dynamodb/latest
- pg npm weekly downloads (29,260,035 for 2026-05-21 to 2026-05-27): https://api.npmjs.org/downloads/point/last-week/pg
- @aws-sdk/client-dynamodb npm weekly downloads (7,094,587): https://api.npmjs.org/downloads/point/last-week/@aws-sdk/client-dynamodb
- @aws-sdk/lib-dynamodb npm weekly downloads (4,166,774): https://api.npmjs.org/downloads/point/last-week/@aws-sdk/lib-dynamodb
Like this? You'll like what I'm building too.
Two ways to support and get more of this work.
HEARTH
A privacy-first Life OS for your desktop. Journal, tasks, and notes that stay on your machine. Coming soon, direct download from this site.
Read moreMY TOOLKITS
Receipts-first toolkits for shipping after hours, building Claude agents, publishing on Amazon, and more. The exact methods I used, not theory.
Browse on WhopRelated Articles
Angular vs HTMX for Solo Developers
Comparing Angular and HTMX for solo developers. Features, pricing, pros and cons, and which one to pick for your next project.
Angular vs Qwik for Solo Developers
Comparing Angular and Qwik for solo developers. Features, pricing, pros and cons, and which one to pick for your next project.
Angular vs SolidJS for Solo Developers
Comparing Angular and SolidJS for solo developers. Features, pricing, pros and cons, and which one to pick for your next project.