- All three clouds bill managed relational databases mainly by instance time plus provisioned storage; AWS and Google list hourly rates, Azure lists monthly rates per instance size.
- For a 2 vCPU, 8 GiB PostgreSQL database with 100 GB of storage in a single zone, the three list-price estimates are close to each other, with Google lowest and Azure highest in our example.
- Among the instances with about 2 GiB of memory, Azure's B1ms works out cheapest; the very smallest options (db.t4g.micro on AWS, shared-core db-f1-micro on Google) cost less but have less memory, and Google's shared-core types are outside the Cloud SQL SLA.
- For a database used only a few hours a day, usage-billed Neon costs less than the smallest always-on AWS instance in our example; high availability, backups beyond allowances and data transfer add to every bill.
How cloud database pricing works on each provider
Cloud database pricing uses the same building blocks everywhere, packaged differently by each provider.
| Amazon RDS for PostgreSQL | Azure Database for PostgreSQL | Google Cloud SQL for PostgreSQL | |
|---|---|---|---|
| Compute unit | Instance class (for example db.t4g.small), per hour | Instance size (for example B1ms), listed per month | vCPUs and memory priced separately, per hour; shared-core types priced per instance |
| Smallest options | Burstable T4g and T3 classes | Burstable B-series | Shared-core db-f1-micro and db-g1-small |
| Storage | Per GB-month by storage type | Per GiB-month, Premium SSD and other options | Per GiB-hour for SSD or HDD |
| Backups | A separate monthly cost component | No charge up to 100% of provisioned server storage | Charged per GiB-hour for backups used |
| High availability | Multi-AZ deployment at a higher instance and storage rate | Same-zone or zone-redundant standby option | HA vCPU, memory and storage rates (double the single-zone rates) |
| Commitment discounts | Reserved Instances and Database Savings Plans | Savings plan and reserved instances (1 and 3 years) | Committed use discounts (1 and 3 years) |
What this means for your bill
Google's per-vCPU and per-GB pricing lets you size memory and CPU independently, which can help memory-heavy workloads. Azure's monthly figures are easy to read but still assume the server runs all month (you can stop a server to stop compute billing). AWS separates the most items, including CPU credits on burstable classes when sustained usage exceeds the baseline. For per-provider detail, see the AWS RDS pricing, Azure SQL pricing and Cloud SQL pricing pages in this section, and the head-to-head AWS RDS vs Google Cloud SQL, AWS RDS vs Azure SQL Database and Azure SQL vs Google Cloud SQL.
Equivalent small instances compared
No two clouds sell identical machines, so we matched on memory and vCPU count as closely as the price lists allow. The specifications come from each provider's own documentation or price data.
| Size class | AWS (RDS for PostgreSQL) | Azure (PostgreSQL flexible server) | Google Cloud SQL |
|---|---|---|---|
| Smallest listed | db.t4g.micro: 2 vCPU, 1 GiB (burstable) | B1ms: 1 vCore, 2 GiB (burstable) | db-f1-micro: shared CPU, 0.6 GiB |
| About 2 GiB memory | db.t4g.small: 2 vCPU, 2 GiB (burstable) | B1ms: 1 vCore, 2 GiB (burstable) | db-g1-small: shared CPU, 1.7 GiB |
| 2 vCPU, 8 GiB general purpose | db.m7g.large: 2 vCPU, 8 GiB | D2ds v5: 2 vCores, 8 GiB | Enterprise edition custom: 2 vCPU, 8 GiB |
Caveats on the match
Burstable and shared-core instances are not equal to dedicated ones: they suit light or uneven load. Google states that its shared-core types are not covered by the Cloud SQL SLA, so treat them as development options. Processor generations also differ (the AWS classes above use Graviton processors), and CodeWithSQL has not compared performance, so cheaper does not mean better value for your workload.
NoSQL and serverless database pricing
NoSQL and serverless databases are priced on usage rather than instance time, so they cannot be compared line by line with the examples above. DynamoDB pricing on demand is per million read and write request units plus storage; Firestore database pricing is per 100,000 document reads, writes and deletes plus storage, after a daily free quota; Azure Cosmos DB serverless charges for request units consumed. Serverless PostgreSQL such as Neon bills compute-unit hours, which is why it appears in the intermittent-workload example below. For the trade-offs, see serverless databases explained.
How to reduce cloud database costs
- Right-size first. Start small; all three clouds let you change instance size later.
- Commit only for steady workloads. Reserved Instances, savings plans and committed use discounts lower the rate in exchange for a 1- or 3-year commitment; the Azure page shows about 20% off for a 1-year savings plan on the sizes above.
- Stop or pause what is idle. Stop development servers outside working hours where the service allows it, or use a serverless option.
- Keep the database next to the application. Cross-region and internet data transfer is billed separately.
- Upgrade old engine versions. AWS charges RDS Extended Support per vCPU-hour for major versions past standard support.
- Check storage and backup settings. Over-provisioned storage and long backup retention are easy to forget.
For providers beyond the big three, see best database hosting providers.
Pricing
Prices from the provider's official pricing pages, checked 8 October 2026, region AWS US East (N. Virginia); Azure East US; Google Cloud Iowa (us-central1), in USD, excluding tax. List prices only; discounts, commitments and your actual usage change the bill.
On-demand list prices for managed PostgreSQL, single zone. AWS prices are from AWS's published RDS for PostgreSQL price data for US East (N. Virginia); Azure prices from the Azure Database for PostgreSQL flexible server pricing page with region East US; Google prices from the Cloud SQL pricing page with region Iowa (us-central1). Neon and Supabase prices are from their pricing pages and are not tied to one region on those pages.
Usage-priced services for reference: DynamoDB on-demand is 0.625 USD per million write request units and 0.125 USD per million read request units in AWS's published examples; Firestore in Iowa is 0.03 USD per 100,000 document reads and 0.09 USD per 100,000 document writes beyond the free quota.
| Item | AWS RDS (US East, N. Virginia) | Azure (East US) | Google Cloud SQL (Iowa) |
|---|---|---|---|
| Smallest instance | db.t4g.micro: 0.016 per hour | B1ms: 12.41 per month | db-f1-micro: 0.0105 per hour |
| About 2 GiB instance | db.t4g.small: 0.032 per hour | B1ms: 12.41 per month | db-g1-small: 0.035 per hour |
| 2 vCPU, 8 GiB instance | db.m7g.large: 0.168 per hour | D2ds v5: 129.94 per month | 0.0413 per vCPU-hour plus 0.007 per GiB-hour of memory |
| SSD storage | gp3: 0.115 per GB-month | Premium SSD: 0.115 per GiB-month | 0.000232877 per GiB-hour (about 0.17 per GiB-month) |
| Backup storage | Billed separately; rate not quoted here | Free up to 100% of provisioned storage | 0.000109589 per GiB-hour used |
Example 1: small always-on app database (about 2 GiB memory, 32 GB storage)
- PostgreSQL, single zone, running 730 hours a month.
- 32 GB of SSD storage on each cloud.
- Backups within free allowances; data transfer, tax and HA excluded.
| Item | Basis | Estimated per month |
|---|---|---|
| AWS db.t4g.small | 730 hours x 0.032 USD = 23.36; 32 GB x 0.115 = 3.68 | 27.04 USD |
| Azure B1ms | 12.41 USD per month; 32 GiB x 0.115 = 3.68 | 16.09 USD |
| Google db-g1-small | 730 x 0.035 = 25.55; 32 GiB x 0.000232877 x 730 = 5.44 | 30.99 USD |
| Estimated total | AWS 27.04 USD, Azure 16.09 USD, Google 30.99 USD per month (Google shared-core is outside the Cloud SQL SLA) |
Example 2: production database (2 vCPU, 8 GiB, 100 GB storage)
- PostgreSQL, single zone (no standby), 730 hours a month.
- 100 GB of SSD storage.
- Backups beyond allowances, high availability, data transfer and tax excluded.
| Item | Basis | Estimated per month |
|---|---|---|
| AWS db.m7g.large | 730 x 0.168 = 122.64; 100 GB x 0.115 = 11.50 | 134.14 USD |
| Azure D2ds v5 | 129.94 USD per month; 100 GiB x 0.115 = 11.50 | 141.44 USD |
| Google Enterprise, 2 vCPU and 8 GiB | 730 x 2 x 0.0413 = 60.30; 730 x 8 x 0.007 = 40.88; 100 GiB x 0.17 = 17.00 | 118.18 USD |
| Estimated total | AWS 134.14 USD, Azure 141.44 USD, Google 118.18 USD per month |
Example 3: development database used 8 hours a day (10 GB storage)
- Active about 176 hours a month (8 hours x 22 working days), idle otherwise.
- Neon at its 0.25 CU minimum size while active, scaling to zero when idle.
- Supabase Pro with one Micro project covered by the included compute credits.
- AWS instance left running all month for comparison; data transfer and tax excluded.
| Item | Basis | Estimated per month |
|---|---|---|
| Neon Launch | 176 h x 0.25 CU = 44 CU-hours x 0.106 = 4.66; 10 GB x 0.35 = 3.50 | 8.16 USD |
| Supabase Pro | 25 USD plan (includes 10 USD compute credit for Micro); 8 GB disk included, 2 GB x 0.125 = 0.25 | 25.25 USD |
| AWS db.t4g.micro, always on | 730 x 0.016 = 11.68; 10 GB x 0.115 = 1.15 | 12.83 USD |
| Estimated total | Neon 8.16 USD, Supabase 25.25 USD, AWS always-on 12.83 USD per month |
Worked examples are estimates calculated from the list prices above; they are not quotes or measured bills.
Frequently asked questions
Which cloud is cheapest for a managed database?
It depends on the size. In our list-price examples, Azure's B1ms was cheapest for a small always-on database with about 2 GiB of memory, and Google Cloud SQL was cheapest for a 2 vCPU, 8 GiB database. Region, storage, high availability and discounts can change the order, so price your own configuration.
How much does an AWS database cost per month?
It depends on the instance class, storage and region. The smallest RDS for PostgreSQL instance (db.t4g.micro) is one of the cheapest managed options on any cloud, and a 2 vCPU, 8 GiB instance costs several times more; the pricing section above shows the hourly rates and the monthly arithmetic. Free plan credits apply to new accounts.
How is DynamoDB pricing different?
DynamoDB on-demand charges per read and write request plus storage, not per instance hour, and has a monthly free tier, which suits uneven traffic.
Do the prices include high availability?
No. All examples are single zone. AWS and Google publish higher rates for Multi-AZ and HA configurations, and Azure adds a standby server in the same or another zone, so high availability raises the bill on all three.
Why are AWS prices quoted from a JSON file?
The Amazon RDS pricing page loads its price tables interactively by region. The figures shown in those tables come from AWS's published price data files, which we cite directly so each number can be checked.
Sources
- Amazon RDS for PostgreSQL pricing
- AWS price data: RDS for PostgreSQL on-demand (instances and storage, all regions)
- AWS price data: RDS for PostgreSQL, US East (N. Virginia), with on-demand rates
- AWS docs: DB instance class hardware specifications
- Amazon DynamoDB pricing
- Azure Database for PostgreSQL flexible server pricing
- Microsoft Learn: Azure Database for PostgreSQL compute options
- Microsoft Learn: Deploy Azure Database for PostgreSQL (options and SLA)
- Microsoft Learn: Azure Database for PostgreSQL overview
- Google Cloud SQL pricing
- Firestore pricing
- Neon pricing
- Supabase pricing
Checked 8 October 2026.
How we research cloud database guides: our editorial method. CodeWithSQL earns nothing from the providers mentioned.