在Postgres中,我正在进行一项REPEATABLE READ事务,以便在事务开始时获取数据库的一致视图。我想知道从此事务的角度来看LSN,以便我可以同时在此LSN上设置复制插槽,这样一旦完成事务,我就可以在LSN上设置逻辑复制并接收事务开始后对数据库的所有更新。
我的期望是,在事务内部(其他连接正在进行更新等情况下),LSN不会改变,然而在事务中多次调用pg_current_wal_lsn却导致每次都得到不同的LSN。
有没有方法可以确定从事务的角度来看最后一个LSN?
为了更好的理解背景,我想在一个数据库上设置逻辑复制,但必须先处理在设置复制插槽之前存在于数据库中的数据。 我必须假设之前的WAL段已被清除,因此我不希望通过逻辑复制在数据库中看到所有数据,并且需要一种方式首先处理现有数据,然后再传输所有数据。希望这样说起来有意义。
谢谢。
我的期望是,在事务内部(其他连接正在进行更新等情况下),LSN不会改变,然而在事务中多次调用pg_current_wal_lsn却导致每次都得到不同的LSN。
有没有方法可以确定从事务的角度来看最后一个LSN?
为了更好的理解背景,我想在一个数据库上设置逻辑复制,但必须先处理在设置复制插槽之前存在于数据库中的数据。 我必须假设之前的WAL段已被清除,因此我不希望通过逻辑复制在数据库中看到所有数据,并且需要一种方式首先处理现有数据,然后再传输所有数据。希望这样说起来有意义。
谢谢。