I'm asking for advice and hints regarding terms in database replication,
especially WRT Postgres-R. (Sorry for crossposting, but I fear not
reaching enough people on the Postgres-R ML alone)
I'm struggling on how to classify the Postgres-R algorithm. Up until
recently, most people thought of it as synchronous replication, but it's
not synchronous in the strong (and very common) sense. I.e. after a node
confirms to have committed a transaction, other nodes didn't necessarily
commit already. (They only promise that they *will* commit without
This violates the common understanding of synchrony, because you can't
commit on a node A and then query another node B and expect it be
None the less, Postgres-R is eager (or pessimistic?) in the sense that
it replicates *before* committing, so as to avoid divergence. In 
I've tried to make that distinction clear, and I'm currently advocating
for using synchronous only in the very strong (and commonly used) sense.
I've choosen the word 'eager' to mean 'replicates before committing'.
According to that definitions, Postgres-R is async but eager.
Do these definitions violate any common meaning? Maybe in other areas
like distributed storage or lock managers?
: Terms and Definitions of Database Replication
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?