Mention two-phase commit for having all transactions commit on all servers.

This commit is contained in:
Bruce Momjian 2006-11-16 21:45:25 +00:00
parent a1e5b5c832
commit 8a6193333c
1 changed files with 8 additions and 4 deletions

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/failover.sgml,v 1.8 2006/11/16 21:43:33 momjian Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/failover.sgml,v 1.9 2006/11/16 21:45:25 momjian Exp $ -->
<chapter id="failover"> <chapter id="failover">
<title>Failover, Replication, Load Balancing, and Clustering Options</title> <title>Failover, Replication, Load Balancing, and Clustering Options</title>
@ -192,9 +192,13 @@
is because each server operates independently, and because SQL is because each server operates independently, and because SQL
queries are broadcast (and not actual modified rows). If this queries are broadcast (and not actual modified rows). If this
is unacceptable, applications must query such values from a is unacceptable, applications must query such values from a
single server and then use those values in write queries. Also, single server and then use those values in write queries.
care must be taken that all transactions either commit or abort Also, care must be taken that all transactions either commit
on all servers Pgpool is an example of this type of replication. or abort on all servers, perhaps using two-phase commit (<xref
linkend="sql-prepare-transaction"
endterm="sql-prepare-transaction-title"> and <xref
linkend="sql-commit-prepared" endterm="sql-commit-prepared-title">.
Pgpool is an example of this type of replication.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>