Skip to main content
provisioning · azure

Azure Database for PostgreSQL Flexible Server

category
Databases

What does zop.dev create for Azure Database for PostgreSQL Flexible Server?

zop.dev provisions a PostgreSQL Flexible Server (sku GP_Standard_D2s_v3, PostgreSQL 13, storage_mb from 32768 to 33553408) with an optional read replica, firewall rule, 4 Key Vault secrets, and a db-init job. Unlike the MySQL variant, storage_scaling defaults to off, so a filling disk is a real failure mode.

Module backing Azure Database for PostgreSQL Flexible Server.
Field Value
Cloudazure

Azure Database for PostgreSQL Flexible Server is Microsoft’s managed PostgreSQL offering. zop.dev provisions the server with the same credential, schema, and backup automation as its MySQL counterpart.

Server, replica, firewall rule, and Key Vault secrets

Flexible server plus optional read replica, database, firewall rule, four Key Vault secrets, and a db-init job.

PostgreSQL 13, storage_mb, and zone 2

Terminal window
sku_name default GP_Standard_D2s_v3; postgres_version default 13; storage_mb 32768-33553408; storage_scaling off by default; storage_tier P4; backup_retention_days 7; zone 2; enable_ssl; collation; administrator_login default psqladmin; read_replica; multi_ds.

storage_scaling is off by default here

Unlike the MySQL variant, storage scaling defaults to off.

Same automation, different storage posture

The credential and schema automation matches the MySQL variant: 4 Key Vault secrets at distinct privilege levels, a db-init job building the schemas, firewall rule and multi_ds support. The storage default flips, though. storage_scaling is off. A PostgreSQL server provisioned on defaults will not grow its own disk, and PostgreSQL behaves badly at 100 percent full. Either turn scaling on at creation or treat disk-usage alerting as part of the provision, because the MySQL habit of letting auto-grow catch it does not transfer here.

What is pinned before the first query

Three settings are effectively decided at creation. administrator_login (default psqladmin) cannot change for the server’s lifetime. The availability zone defaults to zone 2, placement worth knowing when reasoning about zone-level failures alongside your AKS node pools. And postgres_version defaults to 13: upgradable later, never downgradable, and each major upgrade is a deliberate operation with an extension-compatibility check, so starting newer is cheaper than catching up.

The storage range is deceptive

storage_mb spans 32768 to 33553408 (32 GB to roughly 32 TB), with a storage_tier default of P4. Tier and size interact: the tier caps IOPS, so a database can have disk to spare and still be I/O-bound. When a Postgres workload slows without the disk filling, the tier is the setting to check before the query plans.

The replica doubles more than reads

A read replica is a second full server billing at its own SKU: capacity, storage, the lot. It scales read traffic and shortens recovery stories, but it is not a backup: backup_retention_days (default 7) is what answers point-in-time recovery, and the replica faithfully replicates yesterday’s mistake along with yesterday’s data.

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

417 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

417 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·