On Wed, Jul 15, 2015 at 12:51 PM, Florent Guiliani <florent@guiliani.fr> wrote:
> During slot creation, the snapshot building and exporting code seems
> highly coupled with the logical decoding stuff. It doesn't seems much
> reusable to retrieve the snapshot's LSN outside of logical decoding.
I don't think "the snapshot's LSN" has a well-defined meaning in
general. The obvious meaning would be "the LSN such that all commits
prior to that LSN are visible and all later commits are invisible",
but such an LSN need not exist. Suppose A writes a commit record at
LSN 0/10000, and then B writes a commit record at 0/10100, and then B
calls ProcArrayEndTransaction(). At this point, B is visible and A is
not visible, even though A's commit record precedes that of B.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company