Re: PostgreSQL 9.3 synchronous replication - Mailing list pgsql-admin

From Matheus de Oliveira
Subject Re: PostgreSQL 9.3 synchronous replication
Date
Msg-id CAJghg4KkZC-F1QysXFSn_PvdjtV2eaxnd3NKKAp_sodH3NHRFg@mail.gmail.com
Whole thread Raw
In response to PostgreSQL 9.3 synchronous replication  (Sergey Arlashin <sergeyarl.maillist@gmail.com>)
Responses Re: PostgreSQL 9.3 synchronous replication  (Sergey Arlashin <sergeyarl.maillist@gmail.com>)
List pgsql-admin

On Wed, Jan 21, 2015 at 6:25 AM, Sergey Arlashin <sergeyarl.maillist@gmail.com> wrote:
Recently I've found out that synchronous replication just guarantees that the commit has reached the transaction log on the slave. Therefore that doesn't mean the slave has replayed the transaction log and a query against the slave will show the transaction's results.


The exact guarantee depends on synchronous_commit configuration, but none provides guarantee that the xlog records have been applied and ready to query, you are right about it.

 
So I'm wondering if there is a way to ensure that once a transaction is committed the data is available on the slave and I can get it by executing a query against the slave?

Well, you can use compare the values of pg_current_xlog_location on the master immediately after commit and pg_last_xlog_replay_location on the slave (or even use pg_stat_replication.replay_location).

Regards,
--
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres

pgsql-admin by date:

Previous
From: Vladimir Borodin
Date:
Subject: Re: PostgreSQL 9.3 synchronous replication
Next
From: Sergey Arlashin
Date:
Subject: Re: PostgreSQL 9.3 synchronous replication