Azure Database for PostgreSQL Flexible Server: Stuck in Updating state due to NRP private endpoint deadlock — cannot delete

Marc Dergacz 0 Reputation points
2026-06-19T11:34:41.05+00:00

Service: Azure Database for PostgreSQL Flexible Server, Azure Private Link

Scenario: My PostgreSQL Flexible Server has been stuck in Updating state for over 24 hours and cannot be deleted. The server has been replaced and I need to remove it.

Root cause identified: A circular deadlock between the Network Resource Provider (NRP) and the PostgreSQL API.

  1. A private endpoint associated with the server is in provisioningState: Failed
  2. NRP retries the delete every ~60 seconds, calling DeletePrivateEndpointConnectionProxy on the PostgreSQL flexible server API
  3. Every attempt returns ServerIsBusy from Nrp.Frontend.ClientCommon / DeletePrivateEndpointOperation
  4. The server is in Updating because of these NRP retries — making it circular

Result: Any operation on the server (delete, stop, restart, reject private endpoint connection) returns:

(ServerIsBusy) Cannot complete operation while server is busy processing another operation. Try again later.

Troubleshooting steps taken:

  • Attempted az postgres flexible-server delete — ServerIsBusy
  • Attempted az network private-endpoint delete on the failed PE — ServerIsBusy
  • Attempted az postgres flexible-server stop — ServerIsNotReady (Updating state)
  • Attempted to reject the private endpoint connection via PUT to the server's privateEndpointConnections API — operation was accepted but server remains in Updating state
  • Checked activity log — NRP retry visible every ~60 seconds

Question: Is there a way to force-cancel the stuck NRP operation, or break this deadlock without Azure Support backend access?


Tags: azure-database-postgresql-flexibleserver azure-private-link azure-virtual-network Service: Azure Database for PostgreSQL Flexible Server, Azure Private Link

Scenario: My PostgreSQL Flexible Server has been stuck in Updating state for over 24 hours and cannot be deleted. The server has been replaced and I need to remove it.

Root cause identified: A circular deadlock between the Network Resource Provider (NRP) and the PostgreSQL API.

  1. A private endpoint associated with the server is in provisioningState: Failed
  2. NRP retries the delete every ~60 seconds, calling DeletePrivateEndpointConnectionProxy on the PostgreSQL flexible server API
  3. Every attempt returns ServerIsBusy from Nrp.Frontend.ClientCommon / DeletePrivateEndpointOperation
  4. The server is in Updating because of these NRP retries — making it circular

Result: Any operation on the server (delete, stop, restart, reject private endpoint connection) returns:

(ServerIsBusy) Cannot complete operation while server is busy processing another operation. Try again later.

Troubleshooting steps taken:

  • Attempted az postgres flexible-server delete — ServerIsBusy
  • Attempted az network private-endpoint delete on the failed PE — ServerIsBusy
  • Attempted az postgres flexible-server stop — ServerIsNotReady (Updating state)
  • Attempted to reject the private endpoint connection via PUT to the server's privateEndpointConnections API — operation was accepted but server remains in Updating state
  • Checked activity log — NRP retry visible every ~60 seconds

Question: Is there a way to force-cancel the stuck NRP operation, or break this deadlock without Azure Support backend access?


Tags: azure-database-postgresql-flexibleserver azure-private-link azure-virtual-network

Azure Database for PostgreSQL

2 answers

Sort by: Most helpful
  1. Marc Dergacz 0 Reputation points
    2026-06-19T11:36:01.7033333+00:00

    The support options refer me here to post a question. Doesn't let me raise any support tickets

    Was this answer helpful?

    0 comments No comments

  2. AI answer

    2026-06-19T11:35:01.21+00:00

    There is no documented way to force‑cancel the stuck Network Resource Provider operation or break this kind of control‑plane deadlock from the client side.

    For Azure Database for PostgreSQL flexible server and its private endpoint connections, the supported client actions are:

    • Approve a pending private endpoint connection:
        az network private-endpoint-connection approve \
          --description <description> \
          --resource-group <resource_group> \
          --resource-name <server> \
          --type Microsoft.DBforPostgreSQL/flexibleServers \
          --name <connection>
      
    • Reject a pending private endpoint connection:
        az network private-endpoint-connection reject \
          --description <description> \
          --resource-group <resource_group> \
          --resource-name <server> \
          --type Microsoft.DBforPostgreSQL/flexibleServers \
          --name <connection>
      
    • Delete the private endpoint connection object:
        az network private-endpoint-connection delete \
          --resource-group <resource_group> \
          --resource-name <server> \
          --type Microsoft.DBforPostgreSQL/flexibleServers \
          --name <connection> \
          --yes
      
    • Or, via the PostgreSQL flexible server–specific CLI:
        az postgres flexible-server private-endpoint-connection delete \
          --resource-group <resource_group> \
          --server-name <server> \
          --name <connection>
      

    However, the documentation explicitly notes that deleting the private endpoint connection does not delete the private endpoint resource itself, and there is no documented mechanism to override or cancel an in‑flight provider operation when the server is stuck in Updating or ServerIsBusy state. Likewise, when deleting the server from the portal, the experience only allows acknowledging that private endpoints will not be deleted automatically; it does not provide any force‑delete or force‑cancel option for a blocked control‑plane operation.

    In this situation, resolution requires backend intervention by Azure Support to clear or complete the stuck operation on the provider side so that the server and/or private endpoint can be deleted.


    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    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.