• Magnus Hagander's avatar
    Implement backup API functions for non-exclusive backups · 71176854
    Magnus Hagander authored
    Previously non-exclusive backups had to be done using the replication protocol
    and pg_basebackup. With this commit it's now possible to make them using
    pg_start_backup/pg_stop_backup as well, as long as the backup program can
    maintain a persistent connection to the database.
    
    Doing this, backup_label and tablespace_map are returned as results from
    pg_stop_backup() instead of being written to the data directory. This makes
    the server safe from a crash during an ongoing backup, which can be a problem
    with exclusive backups.
    
    The old syntax of the functions remain and work exactly as before, but since the
    new syntax is safer this should eventually be deprecated and removed.
    
    Only reference documentation is included. The main section on backup still needs
    to be rewritten to cover this, but since that is already scheduled for a separate
    large rewrite, it's not included in this patch.
    
    Reviewed by David Steele and Amit Kapila
    71176854
catversion.h 2.53 KB