PostgreSQL Flexible Server stuck in "Updating" state for hours after a compute scale (General Purpose → Burstable)

Kriti Bhadada 0 Reputation points
2026-09-08T14:34:04.25+00:00

I scaled an Azure Database for PostgreSQL Flexible Server and it has been stuck

in the "Updating" state for over 4 hours, with no sign of completing or failing.

Operation performed:

  • Changed the compute from General Purpose (Standard_D4ads_v5, 4 vCores) to Burstable (Standard_B1ms), via Azure CLI (az postgres flexible-server update --tier Burstable --sku-name Standard_B1ms).

What I'm observing:

  • Server Status shows "Updating" and has for 4+ hours.
  • The Activity log shows no error and no "Update" operation completing or failing
    • the operation appears to be accepted but never finishes.
  • The database itself is still serving normally; it's the management operation that appears wedged.
  • All management actions (Restart, further scale, etc.) are greyed out / return 409 "operation in progress". There is no option to cancel the operation.
  • Region: Central India. PostgreSQL version 15. No High Availability, no replicas.

This matches other reported cases where the resize hangs because the underlying

PostgreSQL container becomes unhealthy during the scale and cannot restart.

Could someone please clear the stuck platform operation and restore the server to

a "Ready" state? The data is fully backed up, so this is purely about unblocking

the wedged control-plane operation.

Azure Database for PostgreSQL
0 comments No comments

1 answer

Sort by: Most helpful
  1. Vinodh247-1375 44,476 Reputation points Volunteer Moderator
    2026-09-08T14:50:53.43+00:00

    A server remaining in Updating for more than four hours while continuing to serve database traffic normally is generally not consistent with a typical compute-tier change. Microsoft documents that compute scaling requires a restart of the server and should eventually complete with either a successful or failed provisioning state. [learn.microsoft.com], [learn.microsoft.com]

    What stands out in your case is that:

    • The db workload is still accessible.
    • All management operations are blocked with 409 OperationInProgress.
    • No corresponding completion or failure event appears in Activity Log.

    Taken together, that suggests the resource provider's provisioning state and the actual database runtime state may have become out of sync, leaving a long-running management operation that never transitions to a terminal state.

    Before assuming a platform fault, I would verify whether Azure still reports an active provisioning operation:

    az postgres flexible-server show \
      --resource-group <resource-group> \
      --name <server-name> \
      --query "{state:state,sku:sku.name,tier:sku.tier}"
    
    
    

    Also review the Azure Activity Log for the original update request and note:

    • Operation name
    • Start time (UTC)
    • Correlation ID
    • Current provisioning status

    If the server continues to report Updating indefinitely while the database remains healthy and every management action returns 409, there is generally no customer-exposed operation to cancel or forcibly clear that provisioning state.

    One interesting detail is the scale path being used:

    General Purpose (Standard_D4ads_v5) -> Burstable (Standard_B1ms)

    Azure Database for PostgreSQL Flexible Server supports moving between compute tiers, including Burstable, General Purpose, and Memory Optimized tiers. [learn.microsoft.com], [learn.microsoft.com]

    However, this particular transition is also a significant downsize in both vCore and memory allocation. If Azure never reaches the restart/cutover phase successfully, the service can remain operational on the original compute while the provisioning workflow never completes. The fact that the workload is still running normally may indicate that the platform never committed the requested compute change rather than the database engine itself being unhealthy.

    I would therefore focus on gathering evidence that the provisioning workflow is stalled:

    • Current provisioning state from CLI
    • SKU currently reported by the resource
    • Activity Log correlation ID
    • Exact UTC time the update was initiated
    • Confirmation that all management operations consistently return 409

    Those details should help determine whether the server is still actively processing the resize or whether the provisioning state is genuinely stuck.

    Help make this community better for everyone: if this answer resolved your issue, please accept it or leave an upvote. If not, share more details in a comment so we can continue the discussion and find the right solution.

    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.