On 20/03/17 09:32, Craig Ringer wrote: > On 19 March 2017 at 21:26, Petr Jelinek <petr.jeli...@2ndquadrant.com> wrote: > >> I think only genam would need changes to do two-phase scan for this as >> the catalog scans should ultimately go there. It's going to slow down >> things but we could limit the impact by doing the two-phase scan only >> when historical snapshot is in use and the tx being decoded changed >> catalogs (we already have global knowledge of the first one, and it >> would be trivial to add the second one as we have local knowledge of >> that as well). > > We'll also have to clobber caches after we finish decoding a 2pc xact, > since we don't know those changes are visible to other xacts and can't > guarantee they'll ever be (if it aborts). >
AFAIK reorder buffer already does that. > That's going to be "interesting" when trying to decode interleaved > transaction streams since we can't afford to clobber caches whenever > we see an xlog record from a different xact. We'll probably have to > switch to linear decoding with reordering when someone makes catalog > changes. We may need something that allows for representing multiple parallel transactions in single process and a cheap way of switching between them (ie, similar things we need for autonomous transactions). But that's not something current patch has to deal with. -- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers