• Robert Haas's avatar
    Make commit_delay much smarter. · f11e8be3
    Robert Haas authored
    Instead of letting every backend participating in a group commit wait
    independently, have the first one that becomes ready to flush WAL wait
    for the configured delay, and let all the others wait just long enough
    for that first process to complete its flush.  This greatly increases
    the chances of being able to configure a commit_delay setting that
    actually improves performance.
    
    As a side consequence of this change, commit_delay now affects all WAL
    flushes, rather than just commits.  There was some discussion on
    pgsql-hackers about whether to rename the GUC to, say, wal_flush_delay,
    but in the absence of consensus I am leaving it alone for now.
    
    Peter Geoghegan, with some changes, mostly to the documentation, by me.
    f11e8be3
xlog.c 315 KB