PostgreSQL Cluster/Replication Aware backup Configuration

  • 28 November 2022
  • 2 replies

Badge +6


Is it possible for Commvault to track the Master node in a PostgreSQL configuration?

I am aware that the backup can be performed from the Standby node. The customer has several Postgresql instances in the environment, some have more than one standby node in the replication setup.

They make use of an application called Cluster Control for the management, configuration and monitoring of the servers and database instances. This includes automatic fail over.

If a backup is initiated on a node that is not the master then the backup will fail with something like “Unable to put cluster in backup mode”.

I get by this by disabling the backup activity on the client but this is not ideal with when there is multiple db’s in play.

Any advice will be appreciated.





Best answer by Iggy 7 December 2022, 08:14

View original

2 replies

Userlevel 7
Badge +19

Hey @Iggy,

I’m no PostgreSQL guru but I found this in the documentation that seems to imply that multiple standby nodes is not supported.

You can perform backup and restore operations from a single master-standby unit only. You cannot perform backup operation from multiple standby servers.


You might have to build a DIY solution to detect the correct standby server and utilize the activity control to manage which backups start using workflows, command line or rest API.

Badge +6


Just some feedback from me regarding the integration of Commvault and Postgres.

The process works as expected when only 2 nodes are part of the configuration.

  1. Manually select the Standby instance from the current Master instance.
  2. Disable activity on any additional nodes as they will be read-only.
  3. Only associate a Plan or Schedule to the current Master node.
  4. All job history will be logged against the Master node regardless of failover/failback operations. This includes automatically converted full backups due to failover operations.

If additional nodes are part of the solution then modify the configuration either manually or with API calls.

Check the status of the db with “psql -U postgres -c "select * from pg_is_in_recovery()" “.