• Andres Freund's avatar
    Make WAL segment size configurable at initdb time. · fc49e24f
    Andres Freund authored
    For performance reasons a larger segment size than the default 16MB
    can be useful. A larger segment size has two main benefits: Firstly,
    in setups using archiving, it makes it easier to write scripts that
    can keep up with higher amounts of WAL, secondly, the WAL has to be
    written and synced to disk less frequently.
    
    But at the same time large segment size are disadvantageous for
    smaller databases. So far the segment size had to be configured at
    compile time, often making it unrealistic to choose one fitting to a
    particularly load. Therefore change it to a initdb time setting.
    
    This includes a breaking changes to the xlogreader.h API, which now
    requires the current segment size to be configured.  For that and
    similar reasons a number of binaries had to be taught how to recognize
    the current segment size.
    
    Author: Beena Emerson, editorialized by Andres Freund
    Reviewed-By: Andres Freund, David Steele, Kuntal Ghosh, Michael
        Paquier, Peter Eisentraut, Robert Hass, Tushar Ahuja
    Discussion: https://postgr.es/m/CAOG9ApEAcQ--1ieKbhFzXSQPw_YLmepaa4hNdnY5+ZULpt81Mw@mail.gmail.com
    fc49e24f
configure 483 KB