Edge for Private Cloud v4.18.05
By default, Edge installs all Postgres nodes in master mode. However, in production systems with multiple Postgres nodes, you configure them to use master-standby replication so that if the master node fails, the standby node can continue to server traffic.
If the master node ever fails, you can promote the standby server to the master. See Handling a PostgreSQL Database Failover for more information.
Configure Master-Standby Replication at install time
You can configure master-standby replication at install time by including the following properties in the config file for the two Postgres nodes:
The installer automatically configures the two Postgres node to function as master-standby with replication.
Configure Master-Standby Replication after installation
You can configure master-standby replication after installation by by using the following procedure:
- Identify which Postgre node will be the master and which will be the standby server.
- On the master node, edit the config file to set:
- Enable replication on the new master:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- On the standby node, edit the config file to set:
- Stop the standby node:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- On the standby node, delete any existing Postgres data:
rm -rf /opt/apigee/data/apigee-postgresql/
- Configure the standby node:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
Test Master-Standby Replication
On completion of replication, verify the replication status by issuing the following scripts on both servers. The system should display identical results on both servers to ensure a successful replication:
- On the master node, run:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Validate that it says it is the master.
- On the standby node:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Validate that it says it is the standby.