Quorum commit for multiple synchronous replication.
Masahiko Sawada <sawada.mshk@gmail.com>
From: Masahiko Sawada <sawada.mshk@gmail.com>
To: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2016-08-03T05:52:07Z
Lists: pgsql-hackers
Attachments
- 000_quorum_commit_v1.patch (text/x-patch) patch v1
- 001_add_regression_test_v1.patch (text/x-patch) patch v1
Hi all, In 9.6 development cycle, we had been discussed about configuration syntax for a long time while considering expanding. As a result, we had new dedicated language for multiple synchronous replication, but it supports only priority method. We know that quorum commit is very useful for many users and can expand dedicated language easily for quorum commit. So I'd like to propose quorum commit for multiple synchronous replication here. The followings are changes attached patches made. - Add new syntax 'Any N ( node1, node2, ... )' to synchornous_standby_names for quorum commit. - In quorum commit, the master can return commit to client after received ACK from *at least* any N servers of listed standbys. - sync_priority of all listed servers are same, 1. - Add regression test for quorum commit. I was thinking that the syntax for quorum method would use '[ ... ]' but it will be confused with '( ... )' priority method used. 001 patch adds 'Any N ( ... )' style syntax but I know that we still might need to discuss about better syntax, discussion is very welcome. Attached draft patch, please give me feedback. Regards, -- Masahiko Sawada
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Set the priorities of all quorum synchronous standbys to 1.
- 346199dcab4c 10.0 landed
-
Improve documentation and comment for quorum-based sync replication.
- a790ed9f69ef 10.0 landed