An Azure managed PostgreSQL database service for app development and deployment.
Hello **Swaroop Gowda D
**This is expected behavior for Flexible Server’s public‐access model. Azure doesn’t give you a customer-assigned “permanent” public IP; instead, your server’s FQDN is a DNS CNAME that points at Microsoft-managed front-end IPs, and those IPs can change whenever we perform platform updates or a planned failover during maintenance. Here’s how it works and what you can do:
- Front-end IP rotation during maintenance
- Flexible Server applies OS and platform patches (and in HA setups, updates the standby first and then fails over). As part of that, the underlying compute node (and its public IP) may change, so your DNS A record updates automatically.
- Because of this, you’ll see the FQDN resolve to a different x.x.x.x after maintenance or failover.
- Flexible Server applies OS and platform patches (and in HA setups, updates the standby first and then fails over). As part of that, the underlying compute node (and its public IP) may change, so your DNS A record updates automatically.
- How to confirm a maintenance event
- Azure Service Health: you should have received a “Maintenance scheduled” notification about your Flexible Server 5 days in advance.
- Activity log & Resource Health: in the portal, check Resource Health for any “Platform initiated failover” or “Maintenance” events.
- Built-in diagnostics: run the OrcasPostgresFailOverAppUpgradeInsightV2TroubleShooter diagnostic in the Flexible Server blade to see if an instance upgrade failover happened.
- Activity log & Resource Health: in the portal, check Resource Health for any “Platform initiated failover” or “Maintenance” events.
- Azure Service Health: you should have received a “Maintenance scheduled” notification about your Flexible Server 5 days in advance.
- Is this expected?
- Yes—public-access Flexible Servers rely on DNS for IP flexibility. You should always connect via the server-name.postgres.database.azure.com FQDN and respect its low DNS TTL (~30 seconds).
- Getting a static IP
- Currently there is no way to pin a dedicated public IP to a Flexible Server. The supported pattern is DNS-based abstraction.
- If static IP whitelisting is a hard requirement, consider: • Using Azure Firewall or NAT Gateway with service tags (e.g. “AzureDatabaseForPostgreSQL”) so you don’t have to track IP changes yourself • Moving to a Private Endpoint (Private Link), which gives you a fixed private IP on your VNet
- Impact on firewall whitelisting and expected design behavior:
Because a public IP address can change, any external system that restricts access to the database server by IP must be ready to update its firewall rules accordingly. A more reliable solution is to adopt private access through VNet integration or private endpoints, ensuring that connectivity is managed via private networking rather than a shifting public IP.****
Hope this clarifies your queries. If not, please share your insights for more troubleshooting.