On 2016-04-14 11:50:58 -0400, Robert Haas wrote: > On Wed, Apr 13, 2016 at 9:58 PM, Andres Freund <and...@anarazel.de> wrote: > > We've recently discussed a very similar issue around > > http://www.postgresql.org/message-id/20160227002958.peftvmcx4dxwe...@alap3.anarazel.de > > > > Unfortunately Simon over in that thread disagreed there about fixing > > this by always emitting a commit record when nmsgs > 0 in > > RecordTransactionCommit(). I think this thread is a pretty strong hint > > that we actually should do so. > > Yes. I'm pretty confident that you had the right idea there, and that > Simon's objection was off-base.
The easiest way to achieve that seems to be to just assign an xid if that's the case; while it's not necessarily safe/efficient to do so at the point the invalidation message was queued, I think it should be safe to do so at commit time. Seems less invasive to backpatch than to either support commit records without xids, or a separate record just transporting invalidation messages. Although a separate record with invalidations is going to be needed to support logical decoding of running xacts anyway... - Andres -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers