• Peter Eisentraut's avatar
    Error when creating names too long for tar format · 23a78352
    Peter Eisentraut authored
    The tar format (at least the version we are using), does not support
    file names or symlink targets longer than 99 bytes.  Until now, the tar
    creation code would silently truncate any names that are too long.  (Its
    original application was pg_dump, where this never happens.)  This
    creates problems when running base backups over the replication
    protocol.
    
    The most important problem is when a tablespace path is longer than 99
    bytes, which will result in a truncated tablespace path being backed up.
    Less importantly, the basebackup protocol also promises to back up any
    other files it happens to find in the data directory, which would also
    lead to file name truncation if someone put a file with a long name in
    there.
    
    Now both of these cases result in an error during the backup.
    
    Add tests that fail when a too-long file name or symlink is attempted to
    be backed up.
    Reviewed-by: default avatarRobert Hass <robertmhaas@gmail.com>
    23a78352
basebackup.c 36.1 KB