PostgreSQL Flexible Server upgrade validation from version 15 to 17 consistently times out after approximately 30 minutes

Ayelen Casamassa 0 Reputation points
2026-07-20T18:14:07.2966667+00:00

PostgreSQL Flexible Server upgrade validation from version 15 to 17 consistently times out after approximately 30 minutes. The validation UI shows 0 of 23 checks completed, with every check remaining in “In progress.” The Activity Log reports OperationTimedOut and automatic rollback, but no compatibility validation result is returned. Please inspect the backend upgrade-validation operation and confirm whether it is failing to connect to a database or timing out in the validation orchestration service.

Azure Database for PostgreSQL
0 comments No comments

1 answer

Sort by: Most helpful
  1. Ganesh Chelluri 5 Reputation points Microsoft External Staff Moderator
    2026-07-20T21:34:55.0733333+00:00

    Hi @Ayelen Casamassa ,

    That "0 of 23 checks completed" + OperationTimedOut + rollback pattern almost always means the Pre-Upgrade Validation orchestrator couldn't complete pg_upgrade --check against the server it's not a UI hang, the backend is genuinely stuck waiting on the source instance.

    In v15 → v17 validations this usually comes down to one of these on the source server:

    Active logical replication slots / unconsumed WAL validation stalls because pg_upgrade --check cannot proceed while slots exist.

    Run: SELECT slot_name, active, restart_lsn FROM pg_replication_slots;

    • Drop any inactive/orphaned slots: SELECT pg_drop_replication_slot('<slot_name>');

    Read replicas attached must be deleted before a major version upgrade (Overview → Replication → delete replicas).

    Pending restart-required parameter change if the server shows "Restart required," validation queries never complete. Restart the server, wait until state = Ready, then retry.

    Unsupported / preload extensions on v17 (e.g., pg_failover_slots, older pg_cron, pgaudit combos). Check shared_preload_libraries and SELECT * FROM pg_extension; remove unsupported ones, restart, retry.

    Prepared/long-running transactions holding locks:

    • SELECT * FROM pg_prepared_xacts;ROLLBACK PREPARED '<gid>';
    • SELECT pid, state, query_start, query FROM pg_stat_activity WHERE state <> 'idle'; → terminate stuck sessions.

    Low free storage (<10–20%) validation writes temp metadata; expand storage first.

    After clearing the above, run Validate only again from Portal → Upgrade. If it still times out at 0/23, enable server logs, download the upgrade validation logs from the Server logs blade, and share the last pg_upgrade / precheck entries those will pinpoint the exact check that's blocking.

    Reference: Run pre-upgrade validation checks · Major version upgrades

    Hope this helps

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.