On 2014-07-24 11:17:15 -0400, Robert Haas wrote: > I think you might be approaching this problem from the wrong end, > though.
Yep. > The question in my mind is: why does the > StartTransactionCommand() / CommitTransactionCommand() pair in > ProcessCatchupEvent() end up writing a commit record? The obvious > possibility that occurs to me is that maybe rereading the invalidated > catalog entries causes a HOT prune, and maybe there ought to be some > way for a transaction that has only done HOT pruning to commit > asynchronously, just as we already do for transactions that only > modify temporary tables. Or, failing that, maybe there's a way to > suppress synchronous commit for this particular transaction. I think we should do what the first paragraph in http://archives.postgresql.org/message-id/20140707155113.GB1136%40alap3.anarazel.de outlined. As Tom says somewhere downthread that requires some code review, but other than that it should get rid of a fair amount of problems. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers