Robert Haas <robertmh...@gmail.com> writes: > On Tue, Jan 3, 2012 at 1:42 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: >> BTW, I wonder if this couldn't be ameliorated by establishing some >> ground rules about how up-to-date a snapshot really needs to be. >> Arguably, it should be okay for successive SnapshotNow scans to use the >> same snapshot as long as we have not acquired a new lock in between. >> If not, reusing an old snap doesn't introduce any race condition that >> wasn't there already.
> Is that likely to help much? I think our usual pattern is to lock the > catalog, scan it, and then release the lock, so there will normally be > an AcceptInvalidationMessages() just before the scan. Or at least, I > think there will. Um, good point. Those locks aren't meant to avoid race conditions, but the mechanism doesn't know that. > Another thought is that it should always be safe to reuse an old > snapshot if no transactions have committed or aborted since it was > taken Yeah, that might work better. And it'd be a win for all MVCC snaps, not just the ones coming from promoted SnapshotNow ... regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers