On Thu, Jan 11, 2018 at 9:02 AM, Stephen Frost <sfr...@snowman.net> wrote: > Parallel pg_dump is based on synchronized transactions though and we > have a bunch of checks in ImportSnapshot() because a pg_dump parallel > worker also can't really be quite the same as a normal backend. Perhaps > we could add on more restrictions in ImportSnapshot() to match the > restrictions for parallel-mode workers? If we think there's other users > of SET TRANSACTION SNAPSHOT then we might need to extend that command > for this case, but that seems relatively straight-forward. I don't know > how reasonable the idea of taking a normally-started backend and making > it close enough to a parallel worker when a SET TRANSACTION SNAPSHOT > PARALLEL (or whatever) happens to allow it to skip the lock fairness is > though.
It seems pretty tricky to me. I actually don't think this use case has all that much in common with the parallel query case. Both can be addressed by tweaking the lock manager, but I think this needs a different set of tweaks than that did. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company