From 2327690df4f839ed34b088727a632867cbc0988e Mon Sep 17 00:00:00 2001 From: Peter Eisentraut <peter_e@gmx.net> Date: Wed, 16 Aug 2017 13:59:40 -0400 Subject: [PATCH] doc: Add logical replication to comparison matrix Author: Steve Singer <steve@ssinger.info> --- doc/src/sgml/high-availability.sgml | 43 ++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml index a4494a34949..1a152cf1187 100644 --- a/doc/src/sgml/high-availability.sgml +++ b/doc/src/sgml/high-availability.sgml @@ -111,7 +111,7 @@ </varlistentry> <varlistentry> - <term>File System (Block-Device) Replication</term> + <term>File System (Block Device) Replication</term> <listitem> <para> @@ -158,6 +158,24 @@ protocol to make nodes agree on a serializable transactional order. </listitem> </varlistentry> + <varlistentry> + <term>Logical Replication</term> + <listitem> + <para> + Logical replication allows a database server to send a stream of data + modifications to another server. <productname>PostgreSQL</productname> + logical replication constructs a stream of logical data modifications + from the WAL. Logical replication allows the data changes from + individual tables to be replicated. Logical replication doesn't require + a particular server to be designated as a master or a replica but allows + data to flow in multiple directions. For more information on logical + replication, see <xref linkend="logical-replication">. Through the + logical decoding interface (<xref linkend="logicaldecoding">), + third-party extensions can also provide similar functionality. + </para> + </listitem> + </varlistentry> + <varlistentry> <term>Trigger-Based Master-Standby Replication</term> <listitem> @@ -290,6 +308,7 @@ protocol to make nodes agree on a serializable transactional order. <entry>Shared Disk Failover</entry> <entry>File System Replication</entry> <entry>Write-Ahead Log Shipping</entry> + <entry>Logical Replication</entry> <entry>Trigger-Based Master-Standby Replication</entry> <entry>Statement-Based Replication Middleware</entry> <entry>Asynchronous Multimaster Replication</entry> @@ -300,21 +319,23 @@ protocol to make nodes agree on a serializable transactional order. <tbody> <row> - <entry>Most Common Implementation</entry> + <entry>Most common implementations</entry> <entry align="center">NAS</entry> <entry align="center">DRBD</entry> - <entry align="center">Streaming Repl.</entry> - <entry align="center">Slony</entry> + <entry align="center">built-in streaming replication</entry> + <entry align="center">built-in logical replication, pglogical</entry> + <entry align="center">Londiste, Slony</entry> <entry align="center">pgpool-II</entry> <entry align="center">Bucardo</entry> <entry align="center"></entry> </row> <row> - <entry>Communication Method</entry> + <entry>Communication method</entry> <entry align="center">shared disk</entry> <entry align="center">disk blocks</entry> <entry align="center">WAL</entry> + <entry align="center">logical decoding</entry> <entry align="center">table rows</entry> <entry align="center">SQL</entry> <entry align="center">table rows</entry> @@ -330,6 +351,7 @@ protocol to make nodes agree on a serializable transactional order. <entry align="center">•</entry> <entry align="center">•</entry> <entry align="center">•</entry> + <entry align="center">•</entry> </row> <row> @@ -337,6 +359,7 @@ protocol to make nodes agree on a serializable transactional order. <entry align="center"></entry> <entry align="center"></entry> <entry align="center"></entry> + <entry align="center">•</entry> <entry align="center"></entry> <entry align="center">•</entry> <entry align="center">•</entry> @@ -348,6 +371,7 @@ protocol to make nodes agree on a serializable transactional order. <entry align="center">•</entry> <entry align="center"></entry> <entry align="center">•</entry> + <entry align="center">•</entry> <entry align="center"></entry> <entry align="center">•</entry> <entry align="center"></entry> @@ -359,6 +383,7 @@ protocol to make nodes agree on a serializable transactional order. <entry align="center">•</entry> <entry align="center"></entry> <entry align="center">with sync off</entry> + <entry align="center">with sync off</entry> <entry align="center">•</entry> <entry align="center"></entry> <entry align="center">•</entry> @@ -370,6 +395,7 @@ protocol to make nodes agree on a serializable transactional order. <entry align="center">•</entry> <entry align="center">•</entry> <entry align="center">with sync on</entry> + <entry align="center">with sync on</entry> <entry align="center"></entry> <entry align="center">•</entry> <entry align="center"></entry> @@ -377,10 +403,11 @@ protocol to make nodes agree on a serializable transactional order. </row> <row> - <entry>Standby accept read-only queries</entry> + <entry>Replicas accept read-only queries</entry> <entry align="center"></entry> <entry align="center"></entry> - <entry align="center">with hot</entry> + <entry align="center">with hot standby</entry> + <entry align="center">•</entry> <entry align="center">•</entry> <entry align="center">•</entry> <entry align="center">•</entry> @@ -393,6 +420,7 @@ protocol to make nodes agree on a serializable transactional order. <entry align="center"></entry> <entry align="center"></entry> <entry align="center">•</entry> + <entry align="center">•</entry> <entry align="center"></entry> <entry align="center">•</entry> <entry align="center">•</entry> @@ -403,6 +431,7 @@ protocol to make nodes agree on a serializable transactional order. <entry align="center">•</entry> <entry align="center">•</entry> <entry align="center">•</entry> + <entry align="center"></entry> <entry align="center">•</entry> <entry align="center"></entry> <entry align="center"></entry>