An Azure managed PostgreSQL database service for app development and deployment.
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