Azure PostgresSql Flexible Server SKU scaling and HA enablement with ARM template error

Dev S 131 Reputation points
2025-11-27T18:08:36.5866667+00:00

HI,

We have an Azure Database for PostgreSQL Flexible server, SKU Burstable B1ms, deployed with an ARM template. We want to now enable HA and have a standby for this server, and, as part of this process, we made the following changes to the ARM template:

  1. Changed SKU -> Tier to GeneralPurpose
  2. Changed SKU -> Name to Standard_D2s_V3
  3. Changed highAvailability -> mode to ZoneRedundant

and redeployed the ARM template.

This doesn't seem to work though and we get an error "HA is not supported for Burstable SKUs.". We understand HA isn't available for Burstable SKUs, but, our assumption is that the server should be automatically scaled and then HA enabled since we are changing both in the ARM template.

Do we need to first deploy the ARM template to bump up the SKU and then again re-run the template with HA Enabled? Can't we do both as part of the same deployment? If it matters, we are using version "2024-08-01" version of the "Microsoft.DBforPostgreSQL/flexibleServers" API.

Thanks.

/Dev

Azure Database for PostgreSQL
0 comments No comments
{count} votes

Answer accepted by question author
  1. Swapnesh Panchal 1,380 Reputation points Microsoft External Staff Moderator
    2025-11-27T18:31:00.5333333+00:00

    Hi @Dev S,
    Welcome to the Microsoft Q&A and thank you for posting your questions here.
    You can’t move in a single ARM deployment from a Burstable (B1ms) server with HA disabled to a General Purpose tier with HA enabled (SameZone or ZoneRedundant). The PostgreSQL Flexible Server resource provider validates the HA setting against the current Burstable tier before it applies the SKU change, so the update fails with: “HA not supported for Burstable SKUs.”

    HA is only supported on General Purpose and Memory Optimized tiers; Burstable never supports HA. The RP enforces this rule based on the existing state, not the desired final state. Simply switching to a newer API version (for example, 2024-08-01) does not change this validation or sequencing behavior.

    Because of this platform / RP update sequencing limitation, you must:

    First change the SKU to General Purpose with HA disabled.

    Then run a second deployment to enable HA.

    The 2024-08-01 API version supports the necessary properties but does not change the validation order.

    Important:
    Region/AZ support: Zone-redundant HA requires a region with multiple Availability Zones; otherwise you’ll get a different error. https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-high-availability

    Operational impact: compute scaling and HA enablement are online but can cause brief disconnects/failover-style events; plan a maintenance window. https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-scaling-resources


1 additional answer

Sort by: Most helpful
  1. Q&A Assist
    2025-11-27T18:08:47.3133333+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    To enable high availability (HA) for your Azure Database for PostgreSQL Flexible Server, you cannot directly switch from a Burstable SKU to a General Purpose SKU and enable HA in a single deployment. The error message you encountered, "HA is not supported for Burstable SKUs," indicates that HA cannot be enabled while the server is still using a Burstable SKU.

    Here’s the recommended approach:

    1. First Deployment: Modify your ARM template to change the SKU to General Purpose (e.g., Standard_D2s_V3) and redeploy it. This will scale up your server to the new SKU.
    2. Second Deployment: Once the first deployment is successful, modify the ARM template again to enable high availability by setting highAvailability -> mode to ZoneRedundant and redeploy it.

    This two-step process ensures that the server is first upgraded to a supported SKU before enabling HA. Unfortunately, combining both changes in one deployment is not supported due to the constraints of the Burstable SKU.


    References:

    0 comments No comments

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.