Short answer first: at the same size (2 vCPU / 4 GB, PostgreSQL 16), Hostim had the fastest writes, about 2.5× the write throughput of AWS RDS db.t4g.medium and 2.1× a default self-hosted Postgres on Hetzner. Hetzner had the fastest reads, on raw per-core CPU speed. RDS was slowest or near-slowest on both, and its listed price is the smallest part of the real bill.
This post shows every number, the exact commands to reproduce them, and (because it changes the conclusion) what high availability actually costs on each platform.
Benchmarks run July 2026 on PostgreSQL 16, in a central-Europe region. Prices change often, so check each provider's live pricing page before you commit. The shape of the result changes far less than the exact numbers.
Three ways to run a small production Postgres, all at 2 vCPU / 4 GB RAM, PostgreSQL 16, in a central-Europe region:
Offering Instance Listed price / month Replicated (failover)? Hostim managed Postgres drp-50 (2 vCPU / 4 GB) €50 Yes, by default AWS RDS db.t4g.medium (2 vCPU / 4 GB) ~$48 (instance only) No (single-AZ) Self-hosted Hetzner CPX22 (2 vCPU AMD / 4 GB, shared) €19.49 No (single node)
The "replicated" column matters a lot for both price and performance. It gets its own section below.
The goal was a like-for-like test, not a flattering one. The rules:
Same DB size: 2 vCPU / 4 GB on every target.
2 vCPU / 4 GB on every target. Same Postgres major version: 16.
16. A separate load generator per target , one network hop from the database, in the same region, never on the database box itself. Each client had 4 vCPU so the client was never the bottleneck (checked with mpstat ).
... continue reading