Re: [RFC: bug fix?] Connection attempt block forever when the synchronous standby is not running

From: "MauMau" <maumau307(at)gmail(dot)com>
To: "Rajeev rastogi" <rajeev(dot)rastogi(at)huawei(dot)com>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [RFC: bug fix?] Connection attempt block forever when the synchronous standby is not running
Date: 2014-07-08 10:50:28
Message-ID: 33150253DC2844C6A2EEEA4F4A430173@maumau
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

From: "Rajeev rastogi" <rajeev(dot)rastogi(at)huawei(dot)com>
As of now there is no solution for this in PostgreSQL but I had submitted a
patch "Standalone synchronous master" in
9.4 2014-01 CommitFest, which was rejected because of some issues. This
patch was meant to degrade the synchronous
level of master, if all synchronous standbys are down.
I plan to resubmit this with better design sometime in 9.5.

Although I only read some mails of that thread, I'm sure your proposal is
what many people would appreciate. Your new operation mode is equivalent to
the maximum availability mode of Oracle Data Guard, isn't it? I'm looking
forward to it. Good luck.

==================================================
Maximum availability
This protection mode provides the highest level of data protection that is
possible without compromising the availability of a primary database.
Transactions do not commit until all redo data needed to recover those
transactions has been written to the online redo log and to at least one
standby database. If the primary database cannot write its redo stream to at
least one standby database, it effectively switches to maximum performance
mode to preserve primary database availability and operates in that mode
until it is again able to write its redo stream to a standby database.

This protection mode ensures zero data loss except in the case of certain
double faults, such as failure of a primary database after failure of the
standby database.

Maximum performance
This is the default protection mode. It provides the highest level of data
protection that is possible without affecting the performance of a primary
database. This is accomplished by allowing transactions to commit as soon as
all redo data generated by those transactions has been written to the online
log. Redo data is also written to one or more standby databases, but this is
done asynchronously with respect to transaction commitment, so primary
database performance is unaffected by delays in writing redo data to the
standby database(s).

This protection mode offers slightly less data protection than maximum
availability mode and has minimal impact on primary database performance.
==================================================

Regards
MauMau

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message MauMau 2014-07-08 11:03:22 Re: [RFC: bug fix?] Connection attempt block forever when the synchronous standby is not running
Previous Message MauMau 2014-07-08 10:43:43 Re: [RFC: bug fix?] Connection attempt block forever when the synchronous standby is not running