On 17 August 2016 at 21:35, Bruce Momjian <br...@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. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services