... BTW, one other minor coding suggestion for GetSafeSnapshotBlockingPids(): it might be better to avoid doing so much palloc work while holding the SerializableXactHashLock. Even if it's only held shared, I imagine that it's a contention bottleneck. You could avoid that by returning an array rather than a list; the array could be preallocated of size MaxBackends before ever taking the lock. That would be a little bit space-wasteful, but since it's only short-lived storage it doesn't seem like much of a problem.
regards, tom lane -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers