Skip to content
AzureAzure Database for PostgreSQLDatabase

azurerm_postgresql_server cost estimation

The legacy PostgreSQL Single Server, billed per vCore plus storage. A 2-vCore GP server with 50 GB is ~$70/month, but Single Server is retired, so migrate to Flexible Server.

An azurerm_postgresql_server is the older PostgreSQL Single Server deployment. Cost is per vCore-hour (~$0.0438 on General Purpose Gen5) plus storage (~$0.115/GB-month). A 2-vCore server with 50 GB is ~$63.95 compute + $5.75 storage ≈ $70/month.

The headline isn't the price, it's that Single Server is retired. Microsoft has ended support for Azure Database for PostgreSQL Single Server, steering all workloads to Flexible Server, which is generally cheaper and more capable: burstable tiers for dev/test, stop/start to pause compute, better reserved pricing, and zone-redundant HA. For any existing Single Server, migration to Flexible Server is the decision that matters.

Within the runtime cost the usual levers apply, right-size vCores, right-size storage, but the strategic move is migrating off the retired platform, where Flexible Server's burstable and stop/start options can cut a comparable workload's cost substantially.

c3x prices the server from its vCores and storage, useful for comparing against the Flexible Server migration target.

Terraform example

A minimal but realistic configuration that C3X can estimate.

resource "azurerm_postgresql_server" "db" {
  name                = "app-postgres"
  location            = azurerm_resource_group.main.location
  resource_group_name = azurerm_resource_group.main.name

  sku_name   = "GP_Gen5_2"
  storage_mb = 51200
  version    = "11"

  administrator_login          = "pgadmin"
  administrator_login_password = var.db_password
  ssl_enforcement_enabled      = true
}

Pricing dimensions

What you actually pay for when you provision azurerm_postgresql_server.

DimensionUnitWhat's being charged
vCores (General Purpose)per vCore-hourPer vCore-hour on the GP tier, billed continuously.
$0.0438/vCore-hour → 2 vCores ≈ $63.95/month
Storageper GB-monthProvisioned storage, billed per GB-month.
$0.115/GB-month → 50 GB = $5.75/month

Sample C3X output

A 2-vCore General Purpose Single Server with 50 GB, 24/7:

azurerm_postgresql_server.db
├─ vCores (GP Gen5, 2 vCore)   1460 vCore-hours   $63.95
└─ Storage                     50 GB-month          $5.75
                               Monthly             $69.70

Optimization tips

Common ways to reduce azurerm_postgresql_server cost without changing the workload.

Migrate to PostgreSQL Flexible Server

Access to burstable/stop-start savings

Single Server is retired. Flexible Server is the successor, generally cheaper, with burstable tiers for dev/test, stop/start to pause compute, and better reserved pricing. Migrating off the retired platform is the key cost (and support) decision.

Right-size vCores

Difference between vCore counts

Compute scales with vCores. Monitor CPU/memory and step down over-provisioned servers; on Flexible Server, the burstable tier suits low-traffic databases for far less.

Right-size storage

Per GB-month avoided

Storage bills per provisioned GB. Provision to actual data size with headroom rather than over-allocating.

FAQ

How is Azure PostgreSQL Single Server billed?

Per vCore-hour (~$0.0438 on General Purpose Gen5) plus storage (~$0.115/GB-month). A 2-vCore server with 50 GB is ~$70/month. Note that Single Server is retired, Flexible Server is the supported successor.

Isn't PostgreSQL Single Server retired?

Yes, Microsoft has ended support for Azure Database for PostgreSQL Single Server, steering workloads to Flexible Server (cheaper, burstable tiers, stop/start, better HA). Existing Single Servers should migrate; that's the decision beyond runtime cost.

How does c3x estimate the cost?

From vcores and storage_mb, pricing compute per vCore-hour and storage per GB-month, useful for comparing against a Flexible Server migration target.

Related resources

Estimate this resource in your own Terraform

Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including azurerm_postgresql_server.