An OCF resource agent for PostgreSQL that provides automatic failover capabilities using Pacemaker and Corosync.
PostgreSQL Automatic Failover (PAF) is an OCF resource agent that provides high-availability and automatic failover capabilities for PostgreSQL clusters. It integrates with the Pacemaker and Corosync stack to monitor PostgreSQL instances and manage failovers when the master node fails, ensuring minimal downtime and data integrity.
Database administrators and DevOps engineers managing PostgreSQL clusters in production environments who require robust high-availability solutions.
PAF offers a reliable, industry-standard approach to PostgreSQL failover by leveraging Pacemaker's proven high-availability framework, giving administrators full control over their PostgreSQL setup while automating failover processes.
PostgreSQL Automatic Failover: High-Availibility for Postgres, based on Pacemaker and Corosync.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates with Pacemaker and Corosync, the de facto high-availability stack for Linux, ensuring robust and proven failover mechanisms as highlighted in the README.
Selects the slave closest to the old master for promotion, minimizing potential data loss during failover events, a key feature mentioned in the description.
Does not modify PostgreSQL configurations, allowing DBAs full control over replication setup and database parameters, as emphasized in the setup requirements.
Exposes detailed PostgreSQL instance statuses (e.g., master, slave, catching up) to Pacemaker for precise cluster management, enabling informed failover decisions.
Requires administrators to manually set up PostgreSQL streaming replication and configure recovery parameters like hot_standby and recovery_target_timeline, adding significant setup complexity.
Completely reliant on the Pacemaker stack, which introduces additional learning curve, configuration overhead, and potential failure points outside PostgreSQL's control.
Primarily tested on CentOS 6 and 7, with limited support for other distributions or newer environments, potentially hindering adoption in diverse infrastructures.