All notes
ArchitecturePostgresMulti-tenant· 7 min

Why we chose Postgres over DynamoDB for a multi-tenant nursery SaaS

FloraTrax.ai serves nursery operators across the US. Here is why a relational database beat a managed NoSQL one for a SaaS that needs reporting on day one.

JS

Joe Saba

February 10, 2026

DynamoDB scales. Postgres reports. For a SaaS where the second feature after "track inventory" is "show me which crop categories underperformed last quarter," the reporting axis dominates the scaling axis for the first five years.

The decision framework

New B2B SaaS products tend to be read-heavy, report-heavy, and multi-tenant from day one. The customers you are trying to sell into always ask for data they can export, slice, and share with their team. DynamoDB is brilliant at scaling simple key-based reads, but analytical queries are either expensive (scan), slow (GSI hops), or rebuilt downstream in a second system.

Multi-tenancy without 10x the complexity

Row-level security in Postgres gives you tenant isolation with one column and one policy — not a per-tenant database, not a separate cluster. We scaled FloraTrax to hundreds of tenants on a single Postgres instance with zero tenant-data leakage incidents.

When Dynamo wins

If your workload is hot single-item lookups at massive scale — think leaderboards, session stores, IoT ingest — Dynamo is the right call. For a B2B SaaS with reporting, Postgres gives you more product velocity per dollar than any NoSQL option we benchmarked.