Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> Simon Riggs wrote:
>> OK, so it can;t be copied to a longer lived memory context?
> CopySnapshot always copies snapshots to SnapshotContext, which is a
> context that lives until transaction end. There's no mechanism for
> copying a snapshot into another context, because I don't see the need.
The only reason we have memory contexts at all is to avoid the need to
track individual palloc'd objects. Since we're instituting exactly such
tracking for snapshots, there's no value in placing them in
general-purpose memory contexts.
regards, tom lane