Dear Bertrand, > > > s/to avoid the seeing a xl_running_xacts/to avoid seeing a > > > xl_running_xacts/? > > > > Fixed.
Sorry, I misunderstood your comment and wrongly fixed. I will address in next version. > === 1 > > + * XXX What value should we return here? Originally this > returns the > + * inserted location of RUNNING_XACT record. Based on that, > here > + * returns the latest insert location for now. > + */ > + return GetInsertRecPtr(); > > Looking at the LogStandbySnapshot() that are using the output lsn, i.e: > > pg_log_standby_snapshot() > BackgroundWriterMain() > ReplicationSlotReserveWal() > > It looks ok to me to use GetInsertRecPtr(). > > But if we "really" want to produce a "new" WAL record, what about using > LogLogicalMessage()? It could also be used for debugging purpose. Bonus point: > it does not need wal_level to be set to logical. Thoughts? Right. Similarly, an SQL function pg_logical_emit_message() is sometimes used for the testing purpose, advance_wal() and emit_wal( in Cluster.pm. Even so, we have not found the use-case yet, thus I want to retain now and will update based on the future needs. I'll investigate another point [1] and then will post new version. [1]: https://www.postgresql.org/message-id/CAA4eK1%2Bx5-eOn5%2BMW6FiUjB_1bBCH8jCCARC1uMrx6erZ3J73w%40mail.gmail.com Best regards, Hayato Kuroda FUJITSU LIMITED