The Azure PostgreSQL Flexible Server was from its launch the better option than the Single Server, especially from a performance perspective. However, the Flexible Server was missing important features that were built-in in the Single Server from the beginning.
Since the retirement announcement of the Single Server, it was time for Microsoft to bring the Flexible Server feature set on par.
-> https://azure.microsoft.com/en-us/updates/azure-database-for-postgresql-single-server-will-be-retired-migrate-to-flexible-server-by-28-march-2025?WT.mc_id=AZ-MVP-5000119
-> https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/retiring-azure-database-for-postgresql-single-server-in-2025/ba-p/3783783?WT.mc_id=AZ-MVP-5000119
Eventually, that happened in the fourth quarter of 2023.
What was missing?
A couple of relevant features for the so-called day-2 operations were missing. Let us start first with the most annoying ones.
Till the autumn timeframe of 2023, a compute or a storage resize required downtime of the DBMS. Even worse, when you resized compute and storage, you had two downtimes after another. In the worst cases I have seen, the DBMS was down for 15-20 minutes. With the missing online storage resize, the storage auto-growth was unavailable and required close monitoring of the storage consumption.
Since the autumn timeframe of 2023, the Flexible Server now supports online storage resize and storage auto-growth. Only crossing the 4 TB storage size boundary still requires an offline resize.
Another helpful feature that is only available on the Flexible Server is the performance tier. You can provide more IOPS to your Flexible Server without increasing the storage size, which is also an online operation.
When we look at the compute resize, there has been a significant improvement. Preconditioned that the region has enough capacity, the compute resize will be near zero downtime. So, the resize has a downtime of less than 30 seconds.
-> https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-scaling-resources?WT.mc_id=AZ-MVP-5000119
-> https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/near-zero-downtime-scaling-in-azure-database-for-postgresql/ba-p/3974282?WT.mc_id=AZ-MVP-5000119
If capacity is not available, the compute resize has an increased downtime as the operation falls back to the standard resize procedure, from my experience, 3-10 minutes.
A neat feature from the Single Server currently in preview for the Flexible Server is the server logs functionality. The server logs allow you to download the logs every hour from the DBMS without sending them to Log Analytics via the diagnostic settings.
-> https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-server-logs-portal?WT.mc_id=AZ-MVP-5000119
-> https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/howto-configure-and-access-logs?WT.mc_id=AZ-MVP-5000119
Last but not least, what bothered me the most was the missing integration of Microsoft Defender for Cloud for the Azure PostgreSQL Flexible Server. This feature is available since mid-December 2023.
When you are still operating Azure PostgreSQL Single Server installations and have Microsoft Defender for Cloud configured your Flexible Server installations are automatically onboarded and protected. Otherwise, you need to enable Microsoft Defender for Cloud.
Summary
The latest additions to the Azure PostgreSQL Flexible Server feature set bring the Flexible Server on par with the Single Server and have removed the last show stoppers for a migration.