From: | "kuroda(dot)hayato(at)fujitsu(dot)com" <kuroda(dot)hayato(at)fujitsu(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Cc: | Peter Smith <smithpb2250(at)gmail(dot)com>, Yura Sokolov <y(dot)sokolov(at)postgrespro(dot)ru>, vignesh C <vignesh21(at)gmail(dot)com>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, 'Amit Kapila' <amit(dot)kapila16(at)gmail(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us> |
Subject: | RE: Multi-Master Logical Replication |
Date: | 2022-05-19 02:20:23 |
Message-ID: | TYAPR01MB5866967CC3C287AD6D3FFE53F5D09@TYAPR01MB5866.jpnprd01.prod.outlook.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi hackers,
I created a small PoC. Please see the attached patches.
REQUIREMENT
Before patching them, patches in [1] must also be applied.
DIFFERENCES FROM PREVIOUS DESCRIPTIONS
* LRG is now implemented as SQL functions, not as a contrib module.
* New tables are added as system catalogs. Therefore, added tables have oid column.
* The node_id is the strcat of system identifier and dbid.
HOW TO USE
In the document patch, a subsection 'Example' was added for understanding LRG. In short, we can do
1. lrg_create on one node
2. lrg_node_attach on another node
Also attached is a test script that constructs a three-nodes system.
LIMITATIONS
This feature is under development, so there are many limitations for use case.
* The function for detaching a node from a group is not implemented.
* The function for removing a group is not implemented.
* LRG does not lock system catalogs and databases. Concurrent operations may cause inconsistent state.
* LRG does not wait until the upstream node reaches the latest lsn of the remaining nodes.
* LRG does not support initial data sync. That is, it can work well only when all nodes do not have initial data.
[1]: https://commitfest.postgresql.org/38/3610/
Best Regards,
Hayato Kuroda
FUJITSU LIMITED
Attachment | Content-Type | Size |
---|---|---|
v1-0001-PoC-implement-LRG.patch | application/octet-stream | 60.9 KB |
v1-0002-add-doc.patch | application/octet-stream | 21.2 KB |
test.sh | application/octet-stream | 2.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Langote | 2022-05-19 02:40:46 | Re: First draft of the PG 15 release notes |
Previous Message | Kyotaro Horiguchi | 2022-05-19 02:12:33 | Re: create_help.pl treats <literal> as replaceable |