[Pgpool-general] pgpool-II documentation

Tatsuo Ishii ishii at sraoss.co.jp
Thu Apr 9 03:46:29 UTC 2009


> > There are simple rules:
> >
> > 1) Always send queries to all the nodes if it's a write query
> >
> 
> I presume this can lead to inconsistencies in data if your queries use non
> deterministic functions like "now" or if your tables have serial data types
> for IDs.

For "now", correct. For SERIAL, not if you set "insert_lock" to
true(it's default in v2.2) or you use explicit table locking.

> > 2) Detach a node if it fails.
> >
> > 3) Always execute queries in a transaction. If a node fails, the
> >   transaction aborts to rollback to previous data.
> 
> 
> 
> Does it fail the entire update?

Yes. Actually there are at least two scenarios: if number of updated
tuples are different, abort the entire transaction (update). if some
of node fails or rfeturns other than C(Command Complete), pgpool
terminate the child process, thus aborts entire transaction.

> In other words does  the record commit on
> some servers and not others?

No.
--
Tatsuo Ishii
SRA OSS, Inc. Japan


More information about the Pgpool-general mailing list