How to create Citus Coordinator Node Standby

Hi,
I need to create the standby node of Citus Coordinator node. How can i achieve this task and how i perform failover and failback.

Thanks
Nadir

Hi Nadir,

Apologies for taking so long to get back to you.

If I understand the question correctly you want to have redundancy by having a standby coordinator. The answer is to create a REPLICA using either pg_basebackup or pg_backrest. In other words it’s exactly the same kind of operation you would perform when creating a standard postgres cluste. This much I would guess you already know.

And now for the second part of the question: how to failover and failback:

  • Coordinator Failover:

    • Cut off all communications with the failed coordinator, shutdown the server or firewall it.
    • Execute the pg_promote function call on the STANDBY.
  • Re-provisioning the failed coordinator as the new STANDBY: This blog describes in detail how to use pg_rewind

Finally, there is other method you can consider. Personally, this is ideal. If you want to automate this process then you should look into using Patroni, here, which can be configured to perform all of these operations automatically.

Hope this helps.