Blog Post

Microsoft Blog for PostgreSQL
4 MIN READ

Make upgrades predictable with Pre-Upgrade Validation Checks

varun-dhawan's avatar
varun-dhawan
Icon for Microsoft rankMicrosoft
Jun 08, 2026

Major version upgrades are an important part of keeping PostgreSQL environments current with the latest features, security updates, and performance improvements. But for production workloads, the hardest part is often not the upgrade itself - it is knowing whether the server is ready before the upgrade window begins.

Today, we’re announcing the Public Preview of Pre-Upgrade Validation Checks for Azure Database for PostgreSQL. This new capability lets you validate upgrade readiness before starting the actual major version upgrade, helping you identify and resolve blockers early.

With Pre-Upgrade Validation Checks, you can run upgrade checks independently, review actionable results, fix issues, and re-run validation until your server is ready. This shifts upgrade troubleshooting from the upgrade window to a proactive pre-flight step.

Why this matters

Azure Database for PostgreSQL flexible server already supports in-place major version upgrades using PostgreSQL pg_upgrade. The service preserves the server name and connection settings, runs upgrade prechecks, takes an implicit backup when checks pass, and then performs the engine upgrade.

Pre-Upgrade Validation Checks extend this model by decoupling validation from upgrade execution.

Instead of: Upgrade → Discover issue → Troubleshoot → Retry

You can now follow: Validate → Fix → Re-Validate → Upgrade

This helps reduce failed upgrade attempts, improves planning, and gives teams more confidence before entering a production change window.

What Pre-Upgrade Validation Checks validate

Pre-Upgrade Validation Checks evaluate both Azure-specific upgrade requirements and PostgreSQL compatibility checks, including pg_upgrade --check.

At a high level, the validation covers:

  • Configuration and platform prerequisites, such as server state, target version support, storage headroom, and upgrade readiness.
  • Extension compatibility, including unsupported or version-sensitive extensions.
  • Database dependencies and objects, such as read replicas, logical replication slots, event triggers, PostGIS search_path, and upgrade-sensitive objects.
  • Engine compatibility, using PostgreSQL pg_upgrade --check.

If a blocking issue is found, the result includes details to help you understand what needs to be fixed before retrying validation or starting the upgrade.

How to run Pre-Upgrade Validation Checks from the Azure portal

You can run Pre-Upgrade Validation Checks directly from the existing Upgrade experience in the Azure portal.

Step 1: Select Validate only

From your Azure Database for PostgreSQL flexible server, select Upgrade. Choose the target PostgreSQL version, then select Validate only as the action. This runs validation checks without starting the actual upgrade.

Figure 1: Select Validate only before starting upgrade

Step 2: Review successful validation results

If all validation checks pass, the result shows a successful status. At this point, the server is ready to proceed with the major version upgrade.

Figure 2: Successful validation results

In this example, all pre-upgrade validation checks completed successfully, and no blocking issues were detected for the selected target PostgreSQL version.

Step 3: Review and fix validation errors

If validation detects issues, the results page shows failed checks with details and remediation guidance. You can fix the reported issues and run validation again.

Figure 3: Failed validation with remediation details

In this example, validation found an event trigger issue before the upgrade was started. The upgrade action remains blocked until the issue is resolved and validation passes.

Step 4: Download validation results

You can also download the validation results as a CSV file. This makes it easier to share findings with DBA, application, platform, or support teams before the actual upgrade window.

Figure 4: Download validation results as CSV

The CSV output is useful for offline review, internal tracking, and support collaboration.

Recommended workflow

Use Pre-Upgrade Validation Checks as part of your upgrade planning process: run validation early, review the results, fix any reported blockers, re-run validation until all checks pass, and then proceed with the major version upgrade.

What happens after validation passes?

Once validation succeeds, you can proceed with the major version upgrade using the existing Azure PostgreSQL upgrade workflow. The actual upgrade remains a separate operation and still includes the managed backup and pg_upgrade execution steps.

Pre-Upgrade Validation Checks do not remove the upgrade downtime window. Instead, they help ensure that known blockers are resolved before that window begins.

Frequently asked questions

Does Validate only perform the upgrade?

No. The Validate only option runs readiness checks without upgrading the server. The actual major version upgrade remains a separate action.

Does this remove downtime?

No. Major version upgrades still require an execution window. The benefit is that compatibility issues can be discovered and resolved before downtime begins.

Can I re-run validation?

Yes. Validation is designed to be repeatable. You can fix reported issues and re-run checks until all validations pass.

What types of blockers can be detected?

Common examples include unsupported extensions, logical replication slots, event triggers, insufficient storage headroom, configuration issues, and PostgreSQL compatibility findings from pg_upgrade --check.

Get started

Pre-Upgrade Validation Checks are now available in Public Preview for Azure Database for PostgreSQL flexible server.

To try it, open your flexible server in the Azure portal, go to Upgrade, select your target PostgreSQL version, and choose Validate only.

Learn more

To learn more about major version upgrades and related Azure PostgreSQL capabilities, see:

 

Validate early. Fix with confidence. Upgrade when ready.

Updated Jun 09, 2026
Version 2.0