How To Install pg_auto_failover on Fedora 36

In this tutorial we learn how to install pg_auto_failover in Fedora 36. pg_auto_failover is Postgres extension and service for automated failover and high-availability

Introduction

In this tutorial we learn how to install pg_auto_failover on Fedora 36.

What is pg_auto_failover

pg_auto_failover is an extension and service for PostgreSQL that monitors and manages automated failover for a Postgres cluster. It is optimized for simplicity and correctness and supports Postgres 10 and newer. We set up one PostgreSQL server as a monitor node as well as a primary and secondary node for storing data. The monitor node tracks the health of the data nodes and implements a failover state machine. On the PostgreSQL nodes, the pg_autoctl program runs alongside PostgreSQL and runs the necessary commands to configure synchronous streaming replication.

We can use yum or dnf to install pg_auto_failover on Fedora 36. In this tutorial we discuss both methods but you only need to choose one of method to install pg_auto_failover.

Install pg_auto_failover on Fedora 36 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

After updating yum database, We can install pg_auto_failover using dnf by running the following command:

sudo dnf -y install pg_auto_failover

Install pg_auto_failover on Fedora 36 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

After updating yum database, We can install pg_auto_failover using yum by running the following command:

sudo yum -y install pg_auto_failover

How To Uninstall pg_auto_failover on Fedora 36

To uninstall only the pg_auto_failover package we can use the following command:

sudo dnf remove pg_auto_failover

pg_auto_failover Package Contents on Fedora 36

/usr/bin/pg_autoctl
/usr/lib/.build-id
/usr/lib/.build-id/d0
/usr/lib/.build-id/d0/642e5ed8c183cff638d265d1f855ae7449d087
/usr/lib/.build-id/e8
/usr/lib/.build-id/e8/f70a10de5e522b459162b5ce0bda3148089e1d
/usr/lib64/pgsql/pgautofailover.so
/usr/share/licenses/pg_auto_failover
/usr/share/licenses/pg_auto_failover/LICENSE
/usr/share/man/man1/pg_auto_failover.1.gz
/usr/share/man/man1/pg_autoctl.1.gz
/usr/share/man/man1/pg_autoctl_config_check.1.gz
/usr/share/man/man1/pg_autoctl_config_get.1.gz
/usr/share/man/man1/pg_autoctl_config_set.1.gz
/usr/share/man/man1/pg_autoctl_create_formation.1.gz
/usr/share/man/man1/pg_autoctl_create_monitor.1.gz
/usr/share/man/man1/pg_autoctl_create_postgres.1.gz
/usr/share/man/man1/pg_autoctl_disable_maintenance.1.gz
/usr/share/man/man1/pg_autoctl_disable_monitor.1.gz
/usr/share/man/man1/pg_autoctl_disable_secondary.1.gz
/usr/share/man/man1/pg_autoctl_disable_ssl.1.gz
/usr/share/man/man1/pg_autoctl_drop_formation.1.gz
/usr/share/man/man1/pg_autoctl_drop_monitor.1.gz
/usr/share/man/man1/pg_autoctl_drop_node.1.gz
/usr/share/man/man1/pg_autoctl_enable_maintenance.1.gz
/usr/share/man/man1/pg_autoctl_enable_monitor.1.gz
/usr/share/man/man1/pg_autoctl_enable_secondary.1.gz
/usr/share/man/man1/pg_autoctl_enable_ssl.1.gz
/usr/share/man/man1/pg_autoctl_get_formation_number-sync-standbys.1.gz
/usr/share/man/man1/pg_autoctl_get_formation_settings.1.gz
/usr/share/man/man1/pg_autoctl_get_node_candidate-priority.1.gz
/usr/share/man/man1/pg_autoctl_get_node_replication-quorum.1.gz
/usr/share/man/man1/pg_autoctl_perform_failover.1.gz
/usr/share/man/man1/pg_autoctl_perform_promotion.1.gz
/usr/share/man/man1/pg_autoctl_perform_switchover.1.gz
/usr/share/man/man1/pg_autoctl_reload.1.gz
/usr/share/man/man1/pg_autoctl_run.1.gz
/usr/share/man/man1/pg_autoctl_set_formation_number-sync-standbys.1.gz
/usr/share/man/man1/pg_autoctl_set_node_candidate-priority.1.gz
/usr/share/man/man1/pg_autoctl_set_node_replication-quorum.1.gz
/usr/share/man/man1/pg_autoctl_show_events.1.gz
/usr/share/man/man1/pg_autoctl_show_file.1.gz
/usr/share/man/man1/pg_autoctl_show_settings.1.gz
/usr/share/man/man1/pg_autoctl_show_standby-names.1.gz
/usr/share/man/man1/pg_autoctl_show_state.1.gz
/usr/share/man/man1/pg_autoctl_show_uri.1.gz
/usr/share/man/man1/pg_autoctl_status.1.gz
/usr/share/man/man1/pg_autoctl_stop.1.gz
/usr/share/man/man1/pg_autoctl_watch.1.gz
/usr/share/man/man5/pg_autoctl.5.gz
/usr/share/pgsql/extension/pgautofailover--1.0--1.1.sql
/usr/share/pgsql/extension/pgautofailover--1.0.sql
/usr/share/pgsql/extension/pgautofailover--1.1--1.2.sql
/usr/share/pgsql/extension/pgautofailover--1.2--1.3.sql
/usr/share/pgsql/extension/pgautofailover--1.3--1.4.sql
/usr/share/pgsql/extension/pgautofailover--1.4--1.5.sql
/usr/share/pgsql/extension/pgautofailover--1.5--1.6.sql
/usr/share/pgsql/extension/pgautofailover--1.6--dummy.sql
/usr/share/pgsql/extension/pgautofailover--1.6.sql
/usr/share/pgsql/extension/pgautofailover.control

References

Summary

In this tutorial we learn how to install pg_auto_failover on Fedora 36 using yum and [dnf]((/fedora/36/dnf/).