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). 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. TBH, I have no idea how to approach the genam changes for the proposed double-scan method. It sounds like Stas has some idea how to proceed though (right?) -- Craig Ringer 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