Skip to content

Releases: hapostgres/pg_auto_failover

v1.4.0

23 Sep 11:51
v1.4.0
d763616
Compare
Choose a tag to compare

pg_auto_failover v1.4.0 (September 23, 2020)

The main focus of this release is the new capability of pg_auto_failover to
manage any number of standby nodes, where it used to manage only a single
secondary before. This comes with new documentation coverage and Postgres
production architectures support.

The main changes of this release are:

  • A Postgres group allows any number of Postgres nodes, any of them can be
    setup to participate in the replication quorum (it's then a sync
    standby) or not (it's then an async standby).

  • Any node can be setup with a candidate priority of zero, and then a
    failover will never pick this node as the new primary. Two nodes with
    non-zero candidate priority are expected in any group, and the monitor
    enforces that.

  • The --nodename option is removed, replaced by the new option --hostname.

    At upgrade time your configuration file is migrated to the new format
    automatically.

    Adding to that, it is now possible to give names to your nodes. This
    change breaks scripts that you may have: replace --nodename with
    --hostname, add --name if needed.

    It is also possible to edit a node's metadata at runtime or when
    starting a node. The command pg_autoctl run now supports options
    --name, --hostname, and --pgport. That's useful in environments
    where IP addresses must be used and can change at each reboot.

  • The pg_autoctl process is now the parent process of Postgres.

    As of pg_autoctl 1.4 Postgres is running only when pg_autoctl is
    running. This simplifies systemd integration and allows a better upgrade
    process. It also makes pg_autoctl easier to run in containers.

  • It is possible to pg_autoctl create postgres when PGDATA is an already
    existing data_directory: as usual the monitor decides if that node is
    going to be a primary or a standby. All the Postgres nodes in the same
    group must have the same Postgres system identifer, and that is now
    enforced on the monitor.

Added

  • Allow multiple standbys in a Postgres group [#326]
  • Allow adding a standby node from an exiting PGDATA directory [#276]
  • Edit the HBA file as soon as a new node is added to the group [#311]
  • Check for monitor extension version every time we connect [#318]
  • Command pg_autoctl perform failover now waits until failover is done [#290]
  • Implement pg_autoctl enable maintenance --allow-failover [#306]
  • Implement a node name [#340]
  • Test primary_conninfo before starting Postgres standby [#350]
  • Compute some memory/cpu Postgres tuning for the host [#335]
  • Provide a better pg_auto_failover upgrade experience [#296]
  • Add support for building against Postgres 13 [#312]
  • Allow registering multiple standbys concurrently [#395]
  • Implement a retry policy for deadlocks and other transient failures [#359]
  • Implement support for interactive tmux sessions [#409]
  • Use monitor notifications to wake up from sleep in the main keeper loop [#387]

Changed

  • Make pg_autoctl the parent process for Postgres [#265, #267, #284]
  • Rename --nodename to --hostname, and nodename to nodehost [#273]
  • Improve output for many pg_autoctl commands, including JSON output
  • Log and notify node health changes [#334]
  • Set default password encryption based on --auth [#383]

Fixed

  • Fix pg_autoctl perform failover/switchover default --group [#289]
  • Fix pgautofailover extension upgrade script from 1.2 to 1.3 [#288]
  • Improve connection retry attempts [#299, #302]
  • Skip network DNS probes on pg_autoctl create monitor --skip-pg-hba [#298]
  • Fix pg_autoctl perform failover [#294, #307]
  • Do not always require --ssl-ca-file for custom SSL [#303]
  • Review the registering process & transaction [#309]
  • Fix usage of replication slots to avoid a Postgres bug [#321]
  • Fix fatal auth pgautofailover monitor [#361]

v1.3.1

07 May 08:58
v1.3.1
c2d0681
Compare
Choose a tag to compare
  • Fix build system for packaging extension files [#258]

v1.3

04 May 14:57
v1.3
de7fdc5
Compare
Choose a tag to compare

pg_auto_failover version 1.3 provides many improvements along with the main following items, copy pasted from the change log:

  • Fix systemd integration [#212]
  • Change default TLS cipher list [#214]
  • SSL certificates management fixes [#228]
  • Improve replication slots handling [#222]
  • Implement pg_autoctl enable|disable ssl [#233]
  • Implement pg_autoctl show uri --monitor [#238]
  • Implement pg_autoctl stop|reload for the monitor [#241]
  • Don't create pgautofailover_monitor user anymore [#247]

v1.2

16 Mar 19:18
v1.2
1a74292
Compare
Choose a tag to compare

From the CHANGELOG:

  • Feature implement an option (--skip-pg-hba) to skip editing of HBA rules by pg_autoctl (#169)
  • Feature implement support for SSL connections (--ssl-mode) (#171)
  • Feature implement pg_autoctl drop monitor and drop node --nodename --nodeport (#179)
  • Feature implement SSL support with self-signed certificates
  • Feature make --auth option mandatory when creating nodes
  • Fix error out when the pgautofailover is not in shared_preload_libraries
  • Fixes for warnings found in static analysis

v1.0.6

12 Feb 10:45
v1.0.6
Compare
Choose a tag to compare

From the CHANGELOG:

  • Fix permissions missing in monitor database #94 via $141
  • Fix creating a secondary server in an already existing directory. (#96)
  • Fix unable to get --pgdata value in pg_autoctl get config command #99
  • Fix registering a pre-existing Postgres cluster to the monitor #111
  • Fix demoted primary cannot catchup, wrong working directory? #129
  • Fix review main loop chatter, make it less verbose by default. (#97)
  • Fix refrain from using PGDATA as the systemd service WorkingDirectory. (#123)
  • Fix behaviour with stale postmaster pid (#152)
  • Feature add perform destroy command, and -destroy option to drop node command #141
  • Feature support debian/ubuntu style PostgreSQLclusters #135
  • Feature add files option to show command
  • Feature add --run option to create commmand #110
  • Feature add --json option to all commands for json output #106
  • Feature report current LSN of Postgres nodes rather than WAL lag. (#53)

v1.0.5

20 Sep 12:41
v1.0.5
Compare
Choose a tag to compare

From the CHANGELOG:

  • Fix not being able to create monitor/postgres nodes on mac (#60)
  • Add man page entry (#61)

v1.0.4

05 Sep 14:16
v1.0.4
Compare
Choose a tag to compare
v1.0.4 Pre-release
Pre-release
  • Add PG 12 support

v1.0.3

30 Jul 14:50
v1.0.3
3623480
Compare
Choose a tag to compare

From the CHANGELOG:

  • Add support for systemd integration
  • Allow pg_auto_failover extension upgrade
  • Add enable/disable maintenance command in CLI
  • Add --auth option to configure authentication method
  • Fix crash when ip address can not be resolved in network interface (#40)
  • Fix replication slot being left open after a failover (#42)
  • Other minor fixes