I recommend the following configurations/options in this case:
• wal_sender_timeout: This setting determines how long the primary server waits for the standby server to acknowledge receipt of WAL data. Adjusting this can help ensure timely data transfer.
• wal_keep_size: Ensures that enough WAL files are retained for the standby to catch up if it falls behind.
• checkpoint_timeout: Adjust the checkpoint frequency to ensure WAL files are regularly flushed and sent to the standby server regularly.
• pg_receivewal: Use this tool to continuously archive WAL files to a safe location.It will helpful if there is a delay in streaming replication, you have a backup of WAL files.
Firstly thanks to the community members who are addressing all the queries that are posted. Those give us more insights about the issues/doubts in the postgres.
I have a question with postgres HA setup.
We are setting up a 2 node postgres cluster with async streaming replication, we want to define a RPO (Recovery point objective) in case of primary failure.
How can we best define the RPO in this setup? since it's an async streaming replication setup there might be a chance of data loss which is proportional to the replication delay.
Is there any way we can configure the delay duration, like for example to make sure every 10 mins the standby sync has to happen with primary?