mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	doc: Add logical replication to comparison matrix
Author: Steve Singer <steve@ssinger.info>
This commit is contained in:
		@@ -111,7 +111,7 @@
 | 
				
			|||||||
  </varlistentry>
 | 
					  </varlistentry>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <varlistentry>
 | 
					  <varlistentry>
 | 
				
			||||||
   <term>File System (Block-Device) Replication</term>
 | 
					   <term>File System (Block Device) Replication</term>
 | 
				
			||||||
   <listitem>
 | 
					   <listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <para>
 | 
					    <para>
 | 
				
			||||||
@@ -158,6 +158,24 @@ protocol to make nodes agree on a serializable transactional order.
 | 
				
			|||||||
   </listitem>
 | 
					   </listitem>
 | 
				
			||||||
  </varlistentry>
 | 
					  </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>
 | 
					  <varlistentry>
 | 
				
			||||||
   <term>Trigger-Based Master-Standby Replication</term>
 | 
					   <term>Trigger-Based Master-Standby Replication</term>
 | 
				
			||||||
   <listitem>
 | 
					   <listitem>
 | 
				
			||||||
@@ -290,6 +308,7 @@ protocol to make nodes agree on a serializable transactional order.
 | 
				
			|||||||
     <entry>Shared Disk Failover</entry>
 | 
					     <entry>Shared Disk Failover</entry>
 | 
				
			||||||
     <entry>File System Replication</entry>
 | 
					     <entry>File System Replication</entry>
 | 
				
			||||||
     <entry>Write-Ahead Log Shipping</entry>
 | 
					     <entry>Write-Ahead Log Shipping</entry>
 | 
				
			||||||
 | 
					     <entry>Logical Replication</entry>
 | 
				
			||||||
     <entry>Trigger-Based Master-Standby Replication</entry>
 | 
					     <entry>Trigger-Based Master-Standby Replication</entry>
 | 
				
			||||||
     <entry>Statement-Based Replication Middleware</entry>
 | 
					     <entry>Statement-Based Replication Middleware</entry>
 | 
				
			||||||
     <entry>Asynchronous Multimaster Replication</entry>
 | 
					     <entry>Asynchronous Multimaster Replication</entry>
 | 
				
			||||||
@@ -300,21 +319,23 @@ protocol to make nodes agree on a serializable transactional order.
 | 
				
			|||||||
   <tbody>
 | 
					   <tbody>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <row>
 | 
					    <row>
 | 
				
			||||||
     <entry>Most Common Implementation</entry>
 | 
					     <entry>Most common implementations</entry>
 | 
				
			||||||
     <entry align="center">NAS</entry>
 | 
					     <entry align="center">NAS</entry>
 | 
				
			||||||
     <entry align="center">DRBD</entry>
 | 
					     <entry align="center">DRBD</entry>
 | 
				
			||||||
     <entry align="center">Streaming Repl.</entry>
 | 
					     <entry align="center">built-in streaming replication</entry>
 | 
				
			||||||
     <entry align="center">Slony</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">pgpool-II</entry>
 | 
				
			||||||
     <entry align="center">Bucardo</entry>
 | 
					     <entry align="center">Bucardo</entry>
 | 
				
			||||||
     <entry align="center"></entry>
 | 
					     <entry align="center"></entry>
 | 
				
			||||||
    </row>
 | 
					    </row>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <row>
 | 
					    <row>
 | 
				
			||||||
     <entry>Communication Method</entry>
 | 
					     <entry>Communication method</entry>
 | 
				
			||||||
     <entry align="center">shared disk</entry>
 | 
					     <entry align="center">shared disk</entry>
 | 
				
			||||||
     <entry align="center">disk blocks</entry>
 | 
					     <entry align="center">disk blocks</entry>
 | 
				
			||||||
     <entry align="center">WAL</entry>
 | 
					     <entry align="center">WAL</entry>
 | 
				
			||||||
 | 
					     <entry align="center">logical decoding</entry>
 | 
				
			||||||
     <entry align="center">table rows</entry>
 | 
					     <entry align="center">table rows</entry>
 | 
				
			||||||
     <entry align="center">SQL</entry>
 | 
					     <entry align="center">SQL</entry>
 | 
				
			||||||
     <entry align="center">table rows</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>
 | 
				
			||||||
     <entry align="center">•</entry>
 | 
					     <entry align="center">•</entry>
 | 
				
			||||||
 | 
					     <entry align="center">•</entry>
 | 
				
			||||||
    </row>
 | 
					    </row>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <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>
 | 
				
			||||||
     <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>
 | 
				
			||||||
     <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"></entry>
 | 
					     <entry align="center"></entry>
 | 
				
			||||||
     <entry align="center">with sync off</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>
 | 
					     <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">•</entry>
 | 
					     <entry align="center">•</entry>
 | 
				
			||||||
     <entry align="center">with sync on</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>
 | 
					     <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>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <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"></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>
 | 
					     <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>
 | 
				
			||||||
     <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>
 | 
				
			||||||
     <entry align="center">•</entry>
 | 
					     <entry align="center">•</entry>
 | 
				
			||||||
     <entry align="center"></entry>
 | 
					     <entry align="center"></entry>
 | 
				
			||||||
     <entry align="center"></entry>
 | 
					     <entry align="center"></entry>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user