• Heikki Linnakangas's avatar
    Change the way pg_basebackup's tablespace mapping is implemented. · 8d938eb0
    Heikki Linnakangas authored
    Previously, we would first create the symlinks the way they are in the
    original system, and at the end replace them with the mapped symlinks.
    That never really made much sense, so now we create the symlink pointing
    to the correct location to begin with, so that there's no need to fix
    them at the end.
    
    The old coding didn't work correctly on Windows, because Windows junction
    points look more like directories than files, and ought to be removed with
    rmdir rather than unlink. Also, it incorrectly used "%d" rather than "%u"
    to print an Oid, but that's gone now.
    
    Report and patch by Amit Kapila, with minor changes by me. Reviewed by
    MauMau. Backpatch to 9.4, where the --tablespace feature was added.
    8d938eb0
pg_basebackup.c 54.1 KB