HI ALL,
I encountered this issue for a while now, just wondering if anyone could give me some pointers please?
Problem
A PostgreSQL Flexible Server is stuck in state: "Dropping" and cannot be removed via any public API. Because ARM still lists the resource inside its resource group, the containing resource group cannot be deleted either.
The resource has no replicas, no private endpoints, no VNet integration, no locks, and no in-flight deployments. It is the only resource in the resource group.
Symptoms
-
az postgres flexible-server show returns the resource with state: "Dropping" and provisioningState: null.
-
az postgres flexible-server delete (and equivalent REST DELETE) returns ResourceNotFound (HTTP 404).
-
az resource list -g <rg> lists the server with Status: Succeeded.
-
az group delete fails with ResourceGroupDeletionBlocked, nesting the same ResourceNotFound error on the flexible server.
-
az postgres flexible-server replica list against the same server returns ReadReplicaSourceServerNotFound, contradicting the show result — the asymmetric behaviour characteristic of a stuck Dropping state.
Resource details
- Resource type:
Microsoft.DBforPostgreSQL/flexibleServers
- Region:
newzealandnorth
- Origin: a previous Bicep/IaC provisioning pipeline was interrupted mid-deploy; the server has been in
Dropping state since.
State output
{
"delegatedSubnet": null,
"ha": null,
"privateDns": null,
"provisioningState": null,
"publicAccess": "Disabled",
"replicaRole": null,
"state": "Dropping"
}
What I have already tried
| Step |
Command |
Result |
| 1 |
az postgres flexible-server delete -g <rg> -n <pg> |
ResourceNotFound (404) |
| 2 |
az resource delete --ids <id> |
ResourceNotFound (404) |
| 3 |
az rest --method delete ...?api-version=2024-11-01-preview |
ResourceNotFound (404) |
| 4 |
az rest --method delete ...?api-version=2024-08-01 |
ResourceNotFound (404) |
| 5 |
az rest --method delete ...?api-version=2022-12-01 |
ResourceNotFound (404) |
| 6 |
az rest --method delete ...?api-version=2021-06-01-preview |
ResourceNotFound (404) |
| 7 |
az provider unregister --namespace Microsoft.DBforPostgreSQL |
InvalidUnregistration — blocked by the stuck resource |
| 8 |
az provider register --namespace Microsoft.DBforPostgreSQL --wait |
Succeeded, but state still Dropping afterwards |
| 9 |
az group delete -n <rg> --yes |
ResourceGroupDeletionBlocked |
| 10 |
az lock list -g <rg> |
No locks |
| 11 |
az deployment group list -g <rg> |
No running/accepted deployments |
| 12 |
az network private-endpoint list -g <rg> |
No private endpoints |
| 13 |
az postgres flexible-server replica list |
ReadReplicaSourceServerNotFound |
Question
Is there any public API path (newer/older API version, forceDeletion flag, alternate endpoint, region-level async-operation cancel) that can force-complete the Dropping transition, or is backend intervention from Microsoft support the only remediation for this state?
Secondary: is there a known root cause for PostgreSQL Flexible Server entering an unrecoverable Dropping state, so I can prevent the same orphan on the next provisioning run?
Environment
- Azure CLI: azure-cli 2.84.0 *
- Region:
newzealandnorth