Azure PostgreSQL review

Compare with

Description

Azure PostgreSQL is a service that allows you to run a PostgreSQL database on the cloud with Microsoft Azure. It is a fully managed database as a service with built-in capabilities, such as high availability and intelligence. You can use Azure PostgreSQL with any application or tool that supports PostgreSQL.

Pricing

  • Deployment option: You can choose between Single Server, Flexible Server, and Hyperscale (Citus) deployment options, each with different features and performance characteristics. Single Server is a preconfigured database server with automatic patching and maintenance and built-in high availability. Flexible Server provides maximum control for your database with customised maintenance windows and additional configuration parameters. Hyperscale (Citus) enables horizontal scaling of your database across multiple nodes for large-scale workloads.
  • Instance type: You can choose the number of vCores and the amount of memory you want for your database server, up to 96 vCores and 768 GB of memory. The price per vCore and per GB of memory varies depending on the deployment option and the instance series you choose. For example, for Flexible Server, you can choose between Burstable, General Purpose, and Memory Optimized instance types, each with different price ranges and performance levels.
  • Storage type: You can choose between SSD or HDD storage types for your database server. SSD storage provides faster performance and lower latency than HDD storage. The price per GB of storage also varies depending on the storage type and the deployment option you choose. For example, for Single Server, SSD storage costs $0.115 per GB-month, while HDD storage costs $0.045 per GB-month.
  • Storage size: You can provision up to 16 TiB of storage for your database server. You are charged for the storage that you provision for your server, regardless of how much you actually use. You can also enable Storage Auto-growth to automatically increase your storage capacity when needed.
  • Backup retention: You can configure the backup retention period for your database server, up to 35 days. Backup storage is the storage associated with automated backups of your server. There is no additional charge for backup storage for up to 100% of your total provisioned server storage. Additional consumption of backup storage will be charged in GB-month. You can also choose between locally redundant or geo-redundant backup storage options, each with different price ranges and availability levels.
  • Region: You can choose the region where you want to deploy your database server. The price per vCore, per GB of memory, per GB of storage, and per GB of backup storage varies depending on the region you choose. For example, for Single Server in the US East region, a Gen 5 instance with 2 vCores and 4 GB of memory costs $0.068 per hour, while in the Japan East region, it costs $0.076 per hour.

Features

  • It supports several versions of PostgreSQL, from 9.5 to 14, and offers features such as SSL/TLS encryption, Point-in-Time Restore, and Azure Monitor.
  • It provides high availability and durability with regional instances and read replicas.
  • It supports integrations with key services like Azure Kubernetes Service , Azure Synapse Analytics , and Azure Machine Learning .

Pros

  • It is a fully managed service that handles tasks such as installation, upgrades, backups, replication, and scaling of your PostgreSQL database.
  • It supports flexible deployment options, such as Single Server, Flexible Server, and Hyperscale (Citus), to suit different workloads and performance needs.
  • It provides security features such as firewall rules, encryption at rest and in transit, role-based access control, and data masking.

Cons

  • It is more expensive than running self-managed PostgreSQL on Azure Virtual Machines.
  • It does not provide host access to the DB instances or allow you to run custom extensions or scripts on them.
  • It has some limitations and differences from standard PostgreSQL, such as unsupported parameters, functions, data types, and extensions.