Commit de597154 authored by Bruce Momjian's avatar Bruce Momjian

Update Statement-Based Replication Middleware docs to be more general.

parent dd92a8c3
<!-- $PostgreSQL: pgsql/doc/src/sgml/high-availability.sgml,v 1.5 2006/11/21 18:15:45 momjian Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/high-availability.sgml,v 1.6 2006/11/21 18:31:57 momjian Exp $ -->
<chapter id="high-availability"> <chapter id="high-availability">
<title>High Availability and Load Balancing</title> <title>High Availability and Load Balancing</title>
...@@ -166,16 +166,16 @@ protocol to make nodes agree on a serializable transactional order. ...@@ -166,16 +166,16 @@ protocol to make nodes agree on a serializable transactional order.
</para> </para>
<para> <para>
One limitation of this solution is that functions like If queries are simply broadcast unmodified, functions like
<function>random()</>, <function>CURRENT_TIMESTAMP</>, and <function>random()</>, <function>CURRENT_TIMESTAMP</>, and
sequences can have different values on different servers. This sequences would have different values on different servers.
is because each server operates independently, and because SQL This is because each server operates independently, and because
queries are broadcast (and not actual modified rows). If this SQL queries are broadcast (and not actual modified rows). If
is unacceptable, applications must query such values from a this is unacceptable, either the middleware or the application
single server and then use those values in write queries. must query such values from a single server and then use those
Also, care must be taken that all transactions either commit values in write queries. Also, care must be taken that all
or abort on all servers, perhaps using two-phase commit (<xref transactions either commit or abort on all servers, perhaps
linkend="sql-prepare-transaction" using two-phase commit (<xref linkend="sql-prepare-transaction"
endterm="sql-prepare-transaction-title"> and <xref endterm="sql-prepare-transaction-title"> and <xref
linkend="sql-commit-prepared" endterm="sql-commit-prepared-title">. linkend="sql-commit-prepared" endterm="sql-commit-prepared-title">.
Pgpool is an example of this type of replication. Pgpool is an example of this type of replication.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment