Cloud SQL vs RDS for PostgreSQL: a line-by-line cost comparison
Google prices Cloud SQL by vCPU and GB separately; AWS prices RDS by fixed instance shape. That single difference changes which cloud is cheaper for your particular ratio of CPU to memory. Here is the comparison at real prices.
Quick answer
Cloud SQL bills PostgreSQL compute as separate meters, roughly $0.0413 per vCPU-hour and $0.0070 per GB-hour of memory in us-central1 Enterprise edition, so a 4 vCPU / 26 GB instance costs about $253 per month. RDS bills fixed shapes: a comparable db.m6g.2xlarge (8 vCPU, 32 GB) is $0.62 per hour, about $453 per month, while db.m6g.xlarge (4 vCPU, 16 GB) is $0.31 per hour, about $226. The headline difference is storage: Cloud SQL SSD is $0.17 per GB-month against RDS gp3 at $0.115 per GB-month, so a 2 TB database costs about $348 on Cloud SQL versus $236 on RDS, a $112 monthly gap before any compute comparison.
Comparing managed PostgreSQL across clouds is harder than it should be, because the two providers do not bill the same shape of thing. AWS sells you an instance type with a fixed CPU-to-memory ratio. Google sells you vCPUs and gigabytes as independent dials. That is not a cosmetic difference: it determines which cloud is cheaper for your workload, because most databases are memory-hungry and CPU-light, and only one of the two pricing models lets you buy that asymmetry directly.
Compute pricing side by side
| Configuration | Cloud SQL (us-central1) | RDS (us-east-1) |
|---|---|---|
| 2 vCPU, 8 GB | about $101/mo | db.m6g.large: about $113/mo |
| 4 vCPU, 16 GB | about $202/mo | db.m6g.xlarge: about $226/mo |
| 4 vCPU, 32 GB | about $284/mo | db.r6g.xlarge: about $378/mo |
| 8 vCPU, 32 GB | about $404/mo | db.m6g.2xlarge: about $453/mo |
| 16 vCPU, 128 GB | about $1,134/mo | db.r6g.4xlarge: about $1,512/mo |
Cloud SQL figures use $0.0413 per vCPU-hour and $0.0070 per GB-hour at 730 hours. The pattern is clear: Google's model is more forgiving when you want a lot of memory relative to CPU, because you simply buy more GB without buying the CPUs that AWS bundles into the r-family shapes. A 4 vCPU / 32 GB configuration costs about $284 on Cloud SQL and requires a db.r6g.xlarge at about $378 on RDS. That is a 25 percent gap driven purely by the billing model.
AWS narrows the gap sharply with commitments. A one-year no-upfront Reserved Instance on RDS typically cuts about 30 to 35 percent off, taking db.r6g.xlarge from $378 to roughly $250 per month. Google's equivalent, a one-year committed use discount on Cloud SQL, is around 25 percent, taking that $284 to roughly $213. Commitments preserve the ranking here but compress the difference.
Storage is where the real gap sits
| Storage | Price | 2 TB monthly |
|---|---|---|
| RDS gp3 | $0.115/GB-mo | about $236 |
| RDS io2 Block Express | $0.125/GB-mo + IOPS | about $256 + IOPS |
| Cloud SQL SSD | $0.17/GB-mo | about $348 |
| Cloud SQL HDD | $0.09/GB-mo | about $184 |
Cloud SQL SSD is roughly 48 percent more expensive per GB than RDS gp3, and storage grows monotonically while compute does not. For a database in the multi-terabyte range, that single line can reverse the compute advantage entirely. A 5 TB database pays about $870 per month for Cloud SQL SSD against $590 for RDS gp3, a $280 gap that swamps the $94 compute advantage in the 4 vCPU / 32 GB comparison.
There is a second storage difference with real consequences: Cloud SQL storage autoscaling grows the disk automatically and never shrinks it. RDS storage autoscaling behaves the same way. On both clouds the disk is a ratchet, so a one-off bulk load that pushes 2 TB to 4 TB leaves you paying for 4 TB indefinitely unless you dump and restore into a fresh instance.
IOPS and throughput
RDS gp3 includes a baseline of 3,000 IOPS and 125 MB/s, with additional IOPS at $0.02 each per month beyond the free tier and throughput at $0.08 per MB/s per month. Cloud SQL SSD does not sell IOPS separately; performance scales with provisioned capacity, roughly 30 IOPS per GB up to instance limits. That makes Cloud SQL simpler but less controllable: if you need high IOPS on a small dataset, RDS lets you buy it directly while Cloud SQL effectively forces you to over-provision disk to get throughput.
High availability and backups
Cloud SQL HA doubles both compute and storage, so the 4 vCPU / 32 GB instance with 2 TB goes from about $632 to about $1,264 per month. RDS Multi-AZ doubles compute and storage similarly, taking the db.r6g.xlarge with 2 TB from about $614 to about $1,228. The two are close enough that HA is not a deciding factor. Backups follow the same broad shape: RDS gives you backup storage equal to allocated storage at no charge and bills $0.095 per GB-month beyond, while Cloud SQL backups are $0.08 per GB-month from the first byte, which usually makes RDS cheaper for short retention and Cloud SQL competitive for long retention on a small database.
How to actually decide
If your workload is memory-heavy, CPU-light, and the dataset is under a terabyte, Cloud SQL's granular compute pricing usually wins. If the dataset is large and growing, RDS's cheaper storage usually wins, and the crossover tends to land somewhere between 1.5 and 3 TB depending on your CPU-to-memory ratio. Everything else, data transfer, network topology, and the cost of the ecosystem around the database, typically matters more than the database line itself.
Model both shapes from Terraform before committing, because the crossover point depends on numbers specific to you. Compare instance shapes and storage classes against the resource catalog, and see the broader managed Postgres comparison for more context.
FAQ
Is Cloud SQL cheaper than RDS for PostgreSQL?
For compute, usually yes on memory-heavy shapes, because Cloud SQL bills vCPU and memory separately at about $0.0413 per vCPU-hour and $0.0070 per GB-hour, letting you buy 32 GB without buying 8 vCPUs. A 4 vCPU / 32 GB configuration is about $284 per month on Cloud SQL versus $378 for a db.r6g.xlarge on RDS. Storage reverses this for large datasets.
How much more expensive is Cloud SQL storage?
Cloud SQL SSD is $0.17 per GB-month against RDS gp3 at $0.115, about 48 percent more. A 2 TB database costs about $348 on Cloud SQL versus $236 on RDS, a $112 monthly gap. At 5 TB the gap is about $280 per month, which swamps the typical compute advantage. Cloud SQL HDD at $0.09 per GB-month is cheaper but only suits low-IOPS workloads.
Where is the crossover point between Cloud SQL and RDS?
Typically between 1.5 and 3 TB of storage, depending on your CPU-to-memory ratio. Below that, Cloud SQL's granular compute pricing tends to win on memory-heavy shapes. Above it, RDS gp3's cheaper per-GB storage dominates because storage grows monotonically while compute does not. Model both with your actual dataset size and growth rate rather than using a rule of thumb.
How do commitment discounts compare?
A one-year no-upfront RDS Reserved Instance typically saves about 30 to 35 percent, taking a db.r6g.xlarge from $378 to roughly $250 per month. A one-year Cloud SQL committed use discount is around 25 percent, taking $284 to roughly $213. Commitments preserve the compute ranking but compress the gap, and neither discount applies to storage.
Can I buy IOPS separately on Cloud SQL?
No. Cloud SQL SSD performance scales with provisioned capacity, roughly 30 IOPS per GB up to instance limits, with no separate IOPS meter. RDS gp3 includes 3,000 IOPS and 125 MB/s baseline, with extra IOPS at $0.02 each per month and throughput at $0.08 per MB/s per month. If you need high IOPS on a small dataset, RDS lets you buy it directly while Cloud SQL forces disk over-provisioning.
How does C3X help compare managed Postgres across clouds?
C3X prices Terraform against a live catalog for both providers, so you can model the same logical database as a Cloud SQL instance and an RDS instance and see the compute, storage, HA, and backup lines side by side before committing. That matters because the crossover point depends on your specific dataset size and CPU-to-memory ratio rather than any general rule.
What to do next
Compare managed Postgres across clouds before you commit. C3X reads your Terraform and prices your resources against a live catalog. Start with the quickstart.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.