Re: Postgres Synchronous replication

From: Payal Singh <payal(at)omniti(dot)com>
To: Ravi Krishna <sravikrishna3(at)gmail(dot)com>
Cc: "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Postgres Synchronous replication
Date: 2015-05-21 20:01:42
Message-ID: CANUg7LB_rZrXL0d+3UcrW8koiNgWO+jaAVTT8p52jcxxt1fSqg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

AFAIK the commit on master happens only after it receives ack from the
slave. This is how synchronous replication ensures that the slave is'in
sync'.

Payal Singh,
Database Administrator,
OmniTI Computer Consulting Inc.
Phone: 240.646.0770 x 253

On Thu, May 21, 2015 at 3:56 PM, Ravi Krishna <sravikrishna3(at)gmail(dot)com>
wrote:

> I want to understand how PG sync replication works. This is what I know
> (assuming two node sync replication)
>
> 1 - Application issues commit.
> 2 - PG commits the transaction locally on the primary server.
> 3 - At this stage the application has not got the commit indication back.
> 4 - PG transmits the transaction from the local to the remote server.
> 5 - Remote server sends back acknowledgement
> 6 - The app gets commit ack back.
>
> So this means, between step 2 and step 6, the app is not aware that the
> transaction has already been committed.
> This is the reason why, in the event of server crashing between step 2 and
> step 6, and the remote takes over as the
> new primary, the crashed server can not restart as standby and the only
> option is to recreate the db from the remote
> server (which is now acting as the primary).
>
> Am I correct in the understanding?
>
> One more question: In Step 5, does the remote harden the transaction on
> the disk, or merely receives the transaction in the log buffer and it sends
> back ACK to the local server.
>
> Thanks
>

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Ravi Krishna 2015-05-21 20:10:46 Re: Postgres Synchronous replication
Previous Message Ravi Krishna 2015-05-21 19:56:38 Postgres Synchronous replication