Book Image

Troubleshooting PostgreSQL

Book Image

Troubleshooting PostgreSQL

Overview of this book

Table of Contents (17 chapters)
Troubleshooting PostgreSQL
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Switching to synchronous replication


While asynchronous replication is sufficient in 90 percent of cases, many people ask for synchronous replication. The idea behind synchronous replication is that a transaction is only valid if it has been accepted by at least two servers. Sounds easy? It is! To configure PostgreSQL for synchronous replication, only two settings are necessary.

The first thing to configure is the slave side. All that has to be done is to add an application_name field to primary_conninfo in recovery.conf.

A configuration setting might look like this:

primary_conninfo = 'host=master.server.com user=postgres 
  port=5432 application_name=some_name'

The slave will now register itself on the master as some_name. The master will now check its synchronous_standby_names field. The first entry matching in synchronous_standby_names will be considered synchronous; the rest will be considered asynchronous.

So, in short, here's what you have to do:

  1. Add an application_name field to the primary_conninfo...