A startup is developing a web application that requires a relational database with PostgreSQL compatibility. They want a fully managed service that automatically handles backups, patching, and provides high availability with a 99.99% SLA. Which Azure service should they choose?
Trap 1: Azure SQL Database
Azure SQL Database is a fully managed relational database built on the SQL Server engine, not PostgreSQL. Although it offers similar managed capabilities, it speaks the T-SQL dialect and uses a different query processor, so PostgreSQL-specific SQL, extensions, and client drivers would not work without a full migration. The requirement is for PostgreSQL compatibility, so this option is incorrect.
Trap 2: Azure Database for MySQL
Azure Database for MySQL is a fully managed OSS relational database, but it uses the MySQL engine and wire protocol, not PostgreSQL's. It cannot run PostgreSQL-specific objects such as JSONB columns, PL/pgSQL stored procedures, or PostgreSQL extensions like PostGIS. Because the application explicitly requires a PostgreSQL database, this option falls short despite its managed SLA and backup features.
Trap 3: Azure Cosmos DB for PostgreSQL
Azure Cosmos DB for PostgreSQL is a distributed, horizontally scalable PostgreSQL-compatible database. However, it is designed for large-scale workloads and may not offer the simple fully managed experience with 99.99% SLA that the standard Azure Database for PostgreSQL flexible server provides. The question specifies automatic backups, patching, and high availability with 99.99% SLA, which aligns with Azure Database for PostgreSQL.
- A
Azure Database for PostgreSQL
Azure Database for PostgreSQL – Flexible Server is a fully managed, PostgreSQL-native relational database service that provides automatic backups, automated patching, and zone-redundant high availability with a 99.99% SLA. It is directly compatible with the PostgreSQL wire protocol and SQL dialect, so an application written for PostgreSQL can connect with the same connection strings and drivers. The fully managed operational model matches the requirements exactly, including automated maintenance and backup retention, making it the correct choice.
- B
Azure SQL Database
Why wrong: Azure SQL Database is a fully managed relational database built on the SQL Server engine, not PostgreSQL. Although it offers similar managed capabilities, it speaks the T-SQL dialect and uses a different query processor, so PostgreSQL-specific SQL, extensions, and client drivers would not work without a full migration. The requirement is for PostgreSQL compatibility, so this option is incorrect.
- C
Azure Database for MySQL
Why wrong: Azure Database for MySQL is a fully managed OSS relational database, but it uses the MySQL engine and wire protocol, not PostgreSQL's. It cannot run PostgreSQL-specific objects such as JSONB columns, PL/pgSQL stored procedures, or PostgreSQL extensions like PostGIS. Because the application explicitly requires a PostgreSQL database, this option falls short despite its managed SLA and backup features.
- D
Azure Cosmos DB for PostgreSQL
Why wrong: Azure Cosmos DB for PostgreSQL is a distributed, horizontally scalable PostgreSQL-compatible database. However, it is designed for large-scale workloads and may not offer the simple fully managed experience with 99.99% SLA that the standard Azure Database for PostgreSQL flexible server provides. The question specifies automatic backups, patching, and high availability with 99.99% SLA, which aligns with Azure Database for PostgreSQL.