Get Postgres Tips and Tricks
Subscribe to get advanced Postgres how-tos.
Upgrading an Existing Cluster¶
Failover Manager provides a utility to assist you when upgrading a Failover Manager cluster. To upgrade an existing cluster, you must:
Install Failover Manager 4.0 on each node of the cluster. For detailed information about installing Failover Manager, see Installing Failover Manager.
After installing Failover Manager, invoke the
efm upgrade-conf
utility to create the.properties
and.nodes
files for Failover Manager 4.0. The Failover Manager installer installs the upgrade utility (efm upgrade-conf) to the/usr/edb/efm-4.0/bin directory
. To invoke the utility, assume root privileges, and invoke the command:efm upgrade-conf <cluster_name>
The efm
upgrade-conf
utility locates the.properties
and.nodes
files of pre-existing clusters and copies the parameter values to a new configuration file for use by Failover Manager. The utility saves the updated copy of the configuration files in the/etc/edb/efm-4.0
directory.Modify the
.properties
and.nodes
files for EFM 4.0, specifying any new preferences.Use your choice of editor to modify any additional properties in the properties file (located in the
/etc/edb/efm-4.0
directory) before starting the service for that node. For detailed information about property settings, see The Cluster Properties File .
Note
As of version 3.6, db.bin
is a required property. When modifying the properties file, ensure that the db.bin
property specifies the location of the Postgres bin
directory.
Use a version-specific command to stop the old Failover Manager cluster; for example, you can use the following command to stop a version 3.10 cluster:
/usr/efm-3.10/bin/efm stop-cluster efm
Start the new Failover manager service (
edb-efm-4.0
) on each node of the cluster.
The following example demonstrates invoking the upgrade utility to
create the .properties
and .nodes
files for a Failover Manager
installation:
[root@localhost efm-4.0]# /usr/edb/efm-4.0/bin/efm upgrade-conf efm
Checking directory /etc/edb/efm-3.10
Processing efm.properties file
The following properties were added in addition to those in previous installed version:
notification.text.prefix
encrypt.agent.messages
standby.restart.delay
The following properties were renamed from those in previous installed version:
stop.failed.master => stop.failed.primary
master.shutdown.as.failure => primary.shutdown.as.failure
script.master.isolated => script.primary.isolated
stop.isolated.master => stop.isolated.primary
reconfigure.sync.master => reconfigure.sync.primary
Checking directory /etc/edb/efm-3.10
Processing efm.nodes file
db.password.encrypted re-encoded with stronger encryption.
Upgrade of files is finished. The owner and group for properties and nodes files have been set as 'efm'.
[root@localhost efm-4.0]#
If you are using a Failover Manager configuration without sudo,
include the -source
flag and specify the name of the directory in which the
configuration files reside when invoking upgrade-conf
. If the directory is not
the configuration default directory, the upgraded files will be created in the directory
from which the upgrade-conf
command was invoked.
Please note: : If you are using a custom service script or unit file, you must manually update the file to reflect the new Failover Manager service name when you perform an upgrade.
Un-installing Failover Manager¶
After upgrading to Failover Manager 4.0, you can use your native package manager to remove previous installations of Failover Manager. For example, use the following command to remove Failover Manager 3.10 and any unneeded dependencies:
On RHEL or CentOS 6.x or 7.x:
yum remove edb-efm310
On RHEL or CentOS 8.x:
dnf remove edb-efm310
On Debian or Ubuntu:
apt-get remove edb-efm310
On SLES:
zypper remove edb-efm310
Performing a Database Update (Minor Version)¶
This section describes how to perform a quick minor database version upgrade. You can use the steps that follow to upgrade from one minor version to another (for example, from 10.1.5 to version 10.2.7), or to apply a patch release for a version.
You should first update the database server on each Standby node of the Failover Manager cluster. Then, perform a switchover, promoting a Standby node to the role of Primary within the Failover Manager cluster. Then, perform a database update on the old primary node.
On each node of the cluster you must perform the following steps to update the database server:
Stop the Failover Manager agent.
Stop the database server.
Update the database server.
Start the database service.
Start the Failover Manager agent.
For detailed information about controlling the Advanced Server service, or upgrading your version of Advanced Server, please see the EDB Postgres Advanced Server Guide, available at:
When your updates are complete, you can use the efm set-priority command to add the old primary to the front of the standby list, and then switchover to return the cluster to its original state.