On Fri, 2010-09-17 at 21:20 +0900, Fujii Masao wrote:
> What synchronization level does each combination of sync_replication
> and sync_replication_service lead to? I'd like to see something like
> the following table.
>
> sync_replication | sync_replication_service | result
> ------------------+--------------------------+--------
> async | async | ???
> async | recv | ???
> async | fsync | ???
> async | apply | ???
> recv | async | ???
> ...
Good question.
There are only 4 possible outcomes. There is no combination, so we don't
need a table like that above.
The "service" specifies the highest request type available from that
specific standby. If someone requests a higher service than is currently
offered by this standby, they will either
a) get that service from another standby that does offer that level
b) automatically downgrade the sync rep mode to the highest available.
For example, if you request recv but there is only one standby and it
only offers async, then you get downgraded to async.
In all cases, if you request async then we act same as 9.0.
-- Simon Riggs www.2ndQuadrant.comPostgreSQL Development, 24x7 Support, Training and Services