Skip to content

High Availability

SQL Server Always On Availability Groups and Database Master Keys: A Hidden Failover Pitfall

I recently came across an interesting case involving a client whose application used SQL Server symmetric keys to encrypt sensitive data. The database was hosted in an Always On Availability Group environment for high-availability and disaster-recovery. The interesting and challenging aspect of this setup is ensuring that the encryption and decryption remains intact after a failover. This challenge originates from… 

Surviving a Patroni failover with logical replication

Your Patroni cluster does exactly what you built it to do. A node dies at 3 a.m., a new primary is elected in a few seconds, the application reconnects, and nobody gets paged. Your HA setup works. And yet, somewhere downstream, your change-data-capture pipeline has just gone quiet. Debezium or Flink CDC was streaming every change out of that database… 

AWS re:Invent day 4 – Network & Resilience hub

Of course today’s highlight was Werner Vogels’ keynote with is amazing presentation skills and some great announcements. You will for sure you will find plenty of articles about it.On my side I will rather focus on 2 thematics which are a bit closer and relevant for daily operational activities: Network “debugging” and the Resilience Hub. Network monitoring and tracing For… 

AWS re:Invent day 3 – Gray failures mitigation

So again during the 3rd day of the re:Invent 2022 there were plenty of interesting information to take with us. However, the most interesting part was for sure the workshop about gray failures and how to mitigate them in a multi-AZ environment. Let me try to wrap this up for you… What are gray failures? No idea what “gray failures… 

Recreate a Patroni replica using pgBackRest

In my last blog we had a look on how to bootstrap a complete Patroni Cluster from pgBackRest. But there is also the possibility to recreate only one Patroni node using pgBackRest. In this blog we will have a look on all the things we need to change to recreate a node successfully from backup. First of all, let’s assume… 

How to upgrade Patroni

It’s been a while since I wrote the blog post about PostgreSQL 13 and Patroni 2.0. On this blog I received a comment, if it’s possible to explain, how to upgrade from Patroni 1.6 to 2. So let’s make a short blog about the upgrade procedure of Patroni. For my initial installation is used python pip, not the rpm packages.… 

How to setup a Consul Cluster on RHEL 8, Rocky Linux 8, AlmaLinux 8 part 2

Within the first part I have described the setup of Consul as replacement for ETCD. Here now the setup ob keepalived, haproxy and patroni. The needed packages I have installed within the first part, so let’s start with the configuration of keepalived. At first we need to open firewalld for the VRRP Protocol: $ [root@patroni-01 ~]# firewall-cmd –add-rich-rule=’rule protocol value=”vrrp”… 

Running two Patroni on one host using an existing etcd

Have you ever asked yourself, how to create a second Patroni PostgreSQL cluster on an existing server using the existing etcd? My first idea was to study the documentation of Patroni, but unfortunately without big success. This post should help to identify the changes you have to do on the hosts to run two parallel Patroni clusters using an existing… 

Patroni 2.0: New features – Patroni on pure Raft

Last week the new Patroni 2.0 release was published which brings many new features. But one makes me absolutely curious. At the moment only as BETA, but I had to test it. Patroni on pure Raft. It’s possible to run Patroni without 3rd party dependencies. So no Etcd, Consul or Zookeeper is needed anymore. Great improvement! In this blog we… 

Setup a two node Postgres HA Cluster using EDB Advanced Server and EFM

Some time ago I had a customer looking for a two node PostgreSQL Master/Replica solution. As we need Oracle compatibility in a later step, we decided to go with the EnterpriseDB tools. This article should give you an introduction on how to setup the environment. Prerequisites There are just some few things, that you need to prepare. You need (at…