PostgreSQL is an open-sourced, feature rich and extendable relational database that handles high concurrency workloads easily. It supports complex structures, many advanced data types, Search Tree indexes and also got highly sophisticated query optimizer.
Azure Database for PostgreSQL is an Azure managed services running PostgreSQL community edition. With Flexible Server announced recently, you now have 3 deployment options: Single Server, Flexible Server and Hyperscale/Citus.
Single Server development option provides us with easy-to-use database system that requires minimum configuration. It's not zone redundant but we have an option to create a read replica in the different Azure region.
If we want a granular configuration options and customizations, we will use Flexible Server development option which even supports PostgreSQL extensions and got built in connection pooler, pgbouncer. The underlying architecture is much faster, built on containerized Linux OS. This service is still in public preview.
Hyperscale (Citus) allows to create a database platform that can scale and paralyze queries across the multiple nodes.
I have mapped below the main differences between all 3 Azure Database for PostgreSQL deployment options.
More information: https://docs.microsoft.com/en-us/azure/postgresql/