← Back to articles Azure

GA: Pre-upgrade Validation Checks for Azure PostgreSQL Flexible Server

GA: Pre-upgrade Validation Checks for Azure PostgreSQL Flexible Server

What's Changing

Microsoft has announced the General Availability (GA) of pre-upgrade validation checks for Azure Database for PostgreSQL Flexible Server, effective as of August 2026. This feature, previously available in preview, is now production-ready for all supported regions and SKU tiers. It introduces a dedicated Run Validation step inside the Major Version Upgrade (MVU) workflow that lets you assess upgrade readiness — and receive a structured remediation report — before the actual upgrade engine is ever invoked.

Official Announcement Pre-upgrade validation checks are GA for Azure Database for PostgreSQL Flexible Server. Read the official Azure Update →

Who's Affected & When

This feature is available now, globally, to all Azure Database for PostgreSQL Flexible Server customers. It covers all compute tiers (Burstable, General Purpose, Memory Optimized) and all regions where Flexible Server is generally available. Single Server is explicitly excluded — that service is deprecated and not supported for MVU workflows.

Single Server is NOT supported If you are still on Azure Database for PostgreSQL Single Server, this feature does not apply to you. Single Server is deprecated. Migrate to Flexible Server first using the Azure Database Migration Service.

The feature is opt-in at upgrade time — it is not auto-enabled or running silently. You must explicitly trigger validation via the Portal, CLI, PowerShell, or REST API. There is no mandatory-by date; using it before every major version upgrade is strongly recommended practice.

Supported upgrade paths at GA:

Source Version Target Version Validation Supported
PostgreSQL 1114, 15, 16
PostgreSQL 1214, 15, 16
PostgreSQL 1314, 15, 16
PostgreSQL 1415, 16
PostgreSQL 1516

What This Means for Your Environment

Major version upgrades for PostgreSQL have historically been a high-risk operation — extension incompatibilities, deprecated data types, open prepared transactions, and active replication slots have each caused production upgrade failures. Pre-upgrade validation runs a structured battery of checks against your live instance and returns a traffic-light report (Passed / Warning / Failed) with actionable remediation steps, all without touching your data or downtime window.

PostgreSQL Flexible Server Source Version Validation Engine Extensions • Prepared Txns Data Types • Replication Locale • Parameters Report ● Passed ● Warning ● Failed JSON / CSV export Proceed Upgrade Remediate & Re-run COMPLETES IN 2 – 10 MINUTES SOURCE ENGINE RESULT
The validation engine inspects your live Flexible Server instance and produces a structured report before the upgrade engine is ever called. Failed checks must be resolved before upgrade proceeds.

From a practical standpoint, here is what gets checked every time you trigger validation:

  • Extension compatibility — PostGIS, pgvector, pg_cron, and others are verified against the target version's extension catalogue.
  • Deprecated data types — Types removed in the target version (e.g., abstime removed in PG16) are flagged with affected column names.
  • Prepared transactions — Any open pg_prepared_xacts entries will block the upgrade engine and are reported.
  • Replication slots — Active logical replication slots must be dropped before upgrade; the report names each slot.
  • Parameter compatibility — Settings like max_connections and shared_buffers are cross-checked against target version defaults.
  • Encoding and locale — Mismatches between database encoding, collation, and OS locale are surfaced.
  • System catalog consistency — Internal catalog integrity is verified before upgrade metadata is written.
No downtime for validation Running the validation check does NOT take your server offline. It is a read-only assessment pass. Only the actual upgrade step causes a maintenance window.

Action Items

Here is what you should do right now if you manage Azure Database for PostgreSQL Flexible Server instances:

  1. Identify servers approaching end-of-support version lifecycles
    PostgreSQL 11 is past EOL. PostgreSQL 12 reaches EOL in November 2024. Audit all Flexible Server instances for their current major version via the Azure Portal or CLI:
    # List all PostgreSQL Flexible Servers and their versions across a subscription
    az postgres flexible-server list \
      --query "[].{Name:name, RG:resourceGroup, Version:version, State:state}" \
      --output table
  2. Run pre-upgrade validation before any planned upgrade window
    Do this at least one week before your scheduled maintenance window to allow time for remediation. Use the CLI flag --pre-upgrade-validate-only true to trigger validation without committing to the upgrade:
    # Validate upgrade to PostgreSQL 16 without performing the upgrade
    az postgres flexible-server upgrade \
      --resource-group myRG \
      --name myPostgresServer \
      --version 16 \
      --pre-upgrade-validate-only true
  3. Export and archive the validation report
    In the Portal, export the report as JSON or CSV after each validation run. This provides an audit trail for change management boards and compliance reviews.
  4. Resolve blocking failures before your maintenance window
    The most common blockers in production are active replication slots and incompatible extensions. Coordinate with application teams early — dropping a replication slot impacts downstream subscribers. Check open prepared transactions:
    -- Check for open prepared transactions that block upgrade
    SELECT gid, prepared, owner, database FROM pg_prepared_xacts;
    
    -- Commit or rollback each one before proceeding
    COMMIT PREPARED 'your_transaction_id';
  5. Verify RBAC permissions for the team running upgrades
    The account triggering validation and upgrade must have the Contributor or Owner role on the Flexible Server resource, or the built-in Azure Database for PostgreSQL Flexible Server Contributor role. Least-privilege setups should use the built-in role.
  6. Update tooling to minimum supported versions
    The --pre-upgrade-validate-only parameter requires Azure CLI 2.56.0 or later. The PowerShell equivalent requires Az.PostgreSql 1.1.0 or later. Run az version and Get-InstalledModule Az.PostgreSql to confirm.
Replication slot removal is irreversible If validation flags active replication slots, dropping them will stop logical replication to any subscribers reading from those slots. Coordinate with downstream consumers before removing slots. This is the most commonly underestimated upgrade blocker in production environments.
Pro tip: integrate validation into your CI/CD pipeline The REST API endpoint (POST .../upgrade?api-version=2024-03-01 with "preUpgradeValidateOnly": true) returns an async operation ID. You can poll the async operations endpoint and gate your pipeline on a clean validation result before any maintenance window is opened. This is worth wiring up if you manage more than two or three Flexible Server instances.

The GA of pre-upgrade validation removes the single biggest reason teams defer PostgreSQL major version upgrades: fear of unknown failures mid-window. Run it, fix what it finds, and upgrade with confidence.

Was this article helpful?

🎓 Ready to go deeper?

Practice real MD-102 exam questions, get AI feedback on your weak areas, and fast-track your Intune certification.

Start Free Practice → Book a Session
Souhaiel Morhag
Souhaiel Morhag
Microsoft Endpoint & Modern Workplace Engineer

Souhaiel Morhag is a Microsoft Intune and endpoint management specialist with hands-on experience deploying and securing enterprise environments across Microsoft 365. He founded MSEndpoint.com to share practical, real-world guides for IT admins navigating Microsoft technologies — and built the MSEndpoint Academy at app.msendpoint.com/academy, a dedicated learning platform for professionals preparing for the MD-102 (Microsoft 365 Endpoint Administrator) certification. Through in-depth articles and AI-powered practice exams, Souhaiel helps IT teams move faster and certify with confidence.

Related Articles

Popular on MSEndpoint