StitchDB vs AWS RDS for Postgres: A Practical Comparison

AWS RDS vs StitchDB is infrastructure versus product. RDS for PostgreSQL gives you a managed Postgres instance inside your AWS account, priced per instance-hour, storage and backups, with every size, region and compliance option AWS has. StitchDB gives you a Postgres database per project plus Auth, REST and GraphQL APIs, Realtime, Storage and Edge Functions on flat plans, hosted in the EU. If you have AWS skills and AWS requirements, RDS wins. If you want to ship an app without assembling the pieces around the database, StitchDB is much less work.

We make StitchDB. AWS prices below are from the public AWS price list for US East (N. Virginia), as of November 2026.

#Day one on each

RDS, typical first day for a web app:

  1. Create a VPC (or use the default), subnets and a DB subnet group.
  2. Create a security group that lets your app servers reach port 5432.
  3. Launch the instance: engine version, instance class, storage type and size, Multi-AZ or not, backup retention, parameter group.
  4. Decide how developers and CI reach a private database (bastion, VPN, or public access with tight rules).
  5. Add a pooler if your app uses serverless functions.
  6. Write the API, auth and file upload code, or pick services for each.

StitchDB, typical first day:

  1. Create a project in the dashboard. It is ready within seconds.
  2. Write tables and policies in the SQL editor or as migrations with the CLI.
  3. Call it from the app with the anon key:
JavaScript
import { createClient } from 'stitchdb-js'

export const stitchdb = createClient('https://<project-ref>.p.stitchdb.com', '<anon-key>', {
  auth: { persistSession: true, autoRefreshToken: true },
})

const { data, error } = await stitchdb.auth.signUp({ email, password })

The trade is control for speed. RDS lets you decide everything. StitchDB decides most of it for you.

#Security model

RDS secures the network: VPC isolation and security groups, plus AWS's identity and encryption options. Authorization of individual users is the job of your application code.

StitchDB secures the request. Postgres isn't exposed directly: connections go through a pooler that requires TLS 1.2 or 1.3 and SCRAM password authentication, with an optional IP allowlist of up to 50 entries on Pro and up. For API traffic, Row Level Security policies decide row by row what each signed-in user can read and write, and the same policies apply to REST, GraphQL, Realtime and Storage:

SQL
alter table public.documents enable row level security;

create policy "owners and shared users can read" on public.documents
  for select to authenticated
  using (
    owner_id = auth.uid()
    or exists (select 1 from public.document_shares s
               where s.document_id = documents.id and s.user_id = auth.uid())
  );

Each project has its own database, roles, JWT secret, keys and password (Security).

If your security review requires private networking inside your AWS account, StitchDB's docs don't describe VPC peering or private connectivity into AWS, so RDS is the answer.

#Backups and recovery

RDS takes automated backups during a backup window and can restore to any point within the backup retention period you set. Backup storage up to 100% of your provisioned database storage per region is free; above that it is billed.

StitchDB streams every change off the server continuously and keeps point-in-time recovery on every plan: 24 hours on Free, 7 days on Pro, 14 on Scale, 30 on Enterprise. Restores can go in place, into a new branch, or for a single table only (Backups). A per-table recycle bin keeps deleted rows with who deleted them.

Both cover disaster recovery. StitchDB's single-table restore and recycle bin are aimed at the more common problem: someone deleted the wrong rows.

#Scaling

RDS: change the instance class, add read replicas, use Multi-AZ for failover, or move to Aurora. You choose and pay for each step.

StitchDB: plans set limits per project (for example 1,000 API requests per second and 100 direct connections on Pro; 2,000 and 160 on Scale). Read replicas cost $0.01 per replica-hour, and Scale can add them automatically under load. On Scale and Enterprise a project can move to a dedicated server from 4 GB to 384 GB or more of RAM, with a write pause of about a second and no change to connection strings. High availability with automatic failover isn't a listed plan feature.

For very large or latency-critical databases, RDS and Aurora offer more headroom and more knobs.

#Pricing

RDS (us-east-1, as of November 2026):

ItemPrice
db.t4g.micro Single-AZ$0.016/hour (~$11.68/mo)
db.t4g.small Single-AZ$0.032/hour (~$23.36/mo)
db.t4g.medium Single-AZ$0.065/hour (~$47.45/mo)
Multi-AZabout double the instance rate
gp3 storage$0.115/GB-month (Single-AZ), $0.23 (Multi-AZ)
Extended Support (old major versions)$0.100/vCPU-hour until Feb 28, 2027

Plus data transfer out and whatever you run for API, auth, storage and pooling. New accounts get a free plan with up to $200 in credits for up to 6 months.

StitchDB:

PlanPriceDB per projectPITRIncluded extras
Free$0500 MB24 hAuth (50k MAU), 1 GB files, 25 GB egress
Pro$15.99/mo10 GB7 d100k MAU, 100 GB files, 1 TB egress, 3 branches
Scale$49/mo20 GB14 d200k MAU, 250 GB files, 2 TB egress
Enterprise$329/mo20 GB30 d1M MAU, 1 TB files, 8 TB egress

The spend cap is on by default, so a paid plan never costs more than its price unless you turn the cap off (spend cap).

#Regions

RDS is available in every AWS region. StitchDB runs only in EU data centers (Germany and Finland). If your compute is in us-east-1, the round trip to Europe will dominate query latency. If your users and servers are in Europe, StitchDB's location is a feature, especially for EU data residency (GDPR-friendly hosting).

#Who should pick which

Pick RDS if you are on AWS already, need private networking or IAM, need regions outside Europe, need Multi-AZ failover, or have compliance requirements tied to AWS.

Pick StitchDB if you are a small team building an app, want auth, storage, APIs and realtime without building them, want point-in-time recovery and previews included, and your users are in Europe.

For more options in between, see AWS RDS alternatives for small teams.

#Moving from RDS to StitchDB

StitchDB's Import from Postgres accepts any Postgres 12 or newer. Its source check reports what it found, including whether a live copy through logical replication is possible. On RDS, logical replication requires setting rds.logical_replication to 1 (a static parameter that needs a reboot) and the rds_replication role. If the live copy isn't possible, the import does a one-time copy with writes paused. Make sure the RDS instance is reachable from the internet for the duration of the import, and restrict it again afterwards.

#FAQ

#Is StitchDB built on AWS?

StitchDB runs in its own EU data centers in Germany and Finland, not in your AWS account.

#Can Lambda functions connect to StitchDB?

Yes, over TLS. Use port 6543 (transaction pooling) for Lambda, or the HTTP serverless driver if you prefer not to manage connections.

#Does StitchDB support Multi-AZ like RDS?

High availability with automatic failover is not a plan feature. Read replicas are available on Pro and up.

#Which is cheaper for a small app?

StitchDB Pro at $15.99 includes the database, backups, auth and storage. A db.t4g.small on RDS is about $23 a month before storage, transfer and the services around it (as of November 2026).

#Can I run StitchDB inside my own AWS account?

No. StitchDB runs on its own EU servers. Accounts enabled by the StitchDB team can also run projects on servers they own (a fresh Ubuntu or Debian machine with a public IPv4 address), but that is not the same as RDS inside your VPC. If the database must live in your AWS account, RDS or Aurora is the answer.

Want to see your schema running in minutes? Create a free StitchDB project.