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

Reply via email to