Why this is the decision that sets your bill
On a small Google Cloud project, the database is usually the largest line on the invoice — often by two orders of magnitude. Cloud Run serving a million requests a month costs around $0.48. A single small Cloud SQL instance beside it costs around $50.51.
The reason is structural rather than a pricing quirk. Cloud Run scales to zero, so an idle service costs nothing. Cloud SQL has no free tier and never scales to zero — the instance runs continuously, and you pay for every hour it exists whether it serves a query or not.
So "what database should I use" is, at small scale, really the question "how much am I willing to pay for relational guarantees and managed operations." Below are the four honest answers.
The four options, priced
us-central1, on-demand, no committed-use discount. Monthly figures assume 730 hours.
| Option | Roughly per month | What you give up |
|---|---|---|
| Firestore (free tier) | $0 | Not relational. 1 GiB storage, 50,000 reads / 20,000 writes / 20,000 deletes per day. No SQL, no joins — you design around the query patterns. |
| Postgres on a free-tier e2-micro VM | $0 (plus ~$1.20 storage) | Everything operational: backups, patching, upgrades, monitoring, failover. One VM, one zone, no HA. 1 non-preemptible e2-micro in us-west1/us-central1/us-east1 only. |
| Cloud SQL, 1 vCPU / 3.75 GiB / 10 GiB SSD | ~$50.51 | Nothing operationally — this is the managed baseline. You give up the money. |
| Cloud SQL with high availability | ~$99.82 | Nothing. HA doubles the vCPU and memory charges for automatic failover to a standby in another zone. |
Cloud SQL Enterprise: $0.0413 per vCPU-hour, $0.007 per GiB-hour of memory, around $0.12 per GiB-month for SSD storage. So 1 vCPU = $30.15, 3.75 GiB memory = $19.16, 10 GiB storage = $1.20. Read from Google’s pricing pages on 19 September 2026.
Firestore, if you can live without SQL
For a genuine free-tier answer, Firestore is the only managed database on Google Cloud that scales to zero and stays free at small volume: 1 GiB of storage per project, and 50,000 reads, 20,000 writes and 20,000 deletes per day.
Those daily limits are more generous than they look. 50,000 reads a day is roughly 1.5 million a month — comfortably more than most early-stage applications generate.
The cost is architectural, not financial. Firestore is a document store: no joins, no ad-hoc SQL, and query patterns you have to design for up front. Retrofitting relational reporting onto it later is genuinely painful. If you know you will need SQL within a year, starting here to save $50 a month is usually a false economy.
Self-hosted Postgres on the free-tier VM
The Always Free tier includes one non-preemptible e2-micro instance per month in us-west1, us-central1 or us-east1, with 30 GB-months of standard persistent disk. You can run Postgres on it, and in raw dollars this is the cheapest way to have real SQL on Google Cloud.
Be clear-eyed about what you are taking on. You own backups and, more importantly, restore testing — an untested backup is not a backup. You own security patching, major-version upgrades, disk monitoring, and connection tuning. There is no failover: one VM, one zone, and a zone outage is an outage.
e2-micro is also genuinely small. It is a shared-core machine with 1 GB of memory, which Postgres will find tight under any real concurrency.
This is a reasonable choice for a side project, a prototype, or an internal tool. It is a poor choice for anything holding customer data you cannot lose, and the honest reason we mention it at all is that plenty of people are running exactly this and should know its failure modes.
Making Cloud SQL cheaper without leaving it
If you do want managed Postgres, several things cut the bill meaningfully.
Right-size, and do it downward. vCPU is the dominant line — $30.15 of the $50.51 example. Most small applications are memory-bound rather than CPU-bound, and teams routinely provision more vCPU than they use.
Do not enable HA until you need it. It exactly doubles the vCPU and memory lines. For a pre-launch product, a zone outage is an acceptable risk; for a paying customer base it is not.
Stop non-production instances. A staging database does not need to run at 3am on a Sunday. Stopped Cloud SQL instances do not incur CPU or memory charges, though storage continues to bill.
Use committed-use discounts only once your usage is stable. A one-year commitment takes vCPU from $0.0413 to $0.030975 an hour — about 25% off — but it commits you to spend. It is the wrong tool when your goal is a low floor rather than a low rate.
Watch the storage autogrow setting. Cloud SQL storage can grow automatically and cannot be shrunk again without recreating the instance.
What we would actually recommend
If you are pre-launch and can design around a document model, use Firestore and pay nothing until you have users.
If you need SQL and you are pre-revenue, use one small Cloud SQL instance without HA and accept roughly $50 a month as the price of not operating a database. Skip the free-tier VM unless the project is genuinely disposable.
If you have paying customers, turn HA on. At that point $100 a month is cheaper than one outage.
And whichever you choose, set the budget alerts first — Google Cloud budgets notify rather than cap, so the alert is the only thing standing between a misconfiguration and a bill.
Common questions
- Is there a free database on Google Cloud?
- Firestore has a genuine Always Free allowance: 1 GiB of storage per project and 50,000 reads, 20,000 writes and 20,000 deletes per day. Cloud SQL has no free tier at all. You can also run Postgres yourself on the free-tier e2-micro VM, which costs nothing for the instance but makes backups, patching and availability your responsibility.
- How much does the cheapest Cloud SQL instance cost?
- A single 1 vCPU, 3.75 GiB instance with 10 GiB of SSD storage and no high availability comes to roughly $50.51 a month in us-central1: $30.15 for vCPU, $19.16 for memory and about $1.20 for storage. It bills continuously whether or not the database is queried.
- Does Cloud SQL scale to zero like Cloud Run?
- No. The instance runs continuously and bills by the hour regardless of traffic. This is the main reason a small project’s bill is dominated by its database rather than its application.
- Should I self-host Postgres on a free-tier VM?
- It is legitimate for side projects, prototypes and internal tools. It is a poor choice for customer data, because you take on backups and restore testing, patching, upgrades and monitoring, with no failover — one VM in one zone. The e2-micro is also shared-core with 1 GB of memory, which is tight for Postgres under concurrency.
- Does high availability double my Cloud SQL bill?
- It doubles the vCPU and memory charges, which are the dominant lines. The example instance goes from about $50.51 to about $99.82 a month. Storage is not doubled.