On 17 August 2016 at 21:35, Bruce Momjian <bruce@momjian.us> wrote:
> I saw from the Uber article that they weren't going to per-row logical > replication but _statement_ replication, which is very hard to do > because typical SQL doesn't record what concurrent transactions > committed before a new statement's transaction snapshot is taken, and > doesn't record lock order for row updates blocked by concurrent activity > --- both of which affect the final result from the query.
I assume they can do SQL-level replication when there is no other concurrent activity on the table, and row-based in other cases?
I don't know, but wouldn't want to assume that. A quick search suggests they probably define that away as nondeterministic behaviour that's allowed to cause master/replica differences, but no time to look deeply.