Azure / PSRule.Rules.Azure

Rules to validate Azure resources and infrastructure as code (IaC) using PSRule.
https://azure.github.io/PSRule.Rules.Azure/
MIT License
387 stars 84 forks source link

feat: Added Azure.PostgreSQL.ZoneRedundantHA #2933

Closed BenjaminEngeset closed 3 months ago

BenjaminEngeset commented 3 months ago

PR Summary

Fixes #2932

Added Azure.PostgreSQL.ZoneRedundantHA.

PR Checklist

BenjaminEngeset commented 3 months ago

Ready for review @BernieWhite. Not everything here is identical as MySQL regarding the documentation as there are some different behaviors, please check it out.

I'm actually a bit confused about the storage part. Looks like the ZRS storage is only used for backup from the servers and never read from, before, under or after failover. Looks like the primary server is just sending of data to the secondary all time being, ensuring that both theirs LRS storage is identical.

BernieWhite commented 3 months ago

@BenjaminEngeset

The data is being replicated between the two servers by a PostgreSQL shipping transaction logs to the standby but using a PostgreSQL implementation instead of replication of storage by Azure.

So each server has separate LRS storage for the database, with PostgreSQL replicating the data at the application level to keep them in sync, with ZRS storage being used for backups.

In the event of failure, the standby would recovery any transaction logs and bring the standby online.

BenjaminEngeset commented 3 months ago

@BenjaminEngeset

The data is being replicated between the two servers by a PostgreSQL shipping transaction logs to the standby but using a PostgreSQL implementation instead of replication of storage by Azure.

So each server has separate LRS storage for the database, with PostgreSQL replicating the data at the application level to keep them in sync, with ZRS storage being used for backups.

In the event of failure, the standby would recovery any transaction logs and bring the standby online.

Great, thanks!