Thread: pgsql: Change the way pg_basebackup's tablespace mapping is implemented
pgsql: Change the way pg_basebackup's tablespace mapping is implemented
From
Heikki Linnakangas
Date:
Change the way pg_basebackup's tablespace mapping is implemented. 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. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/8d938eb0797e7acd925a2adf72315f8ab1586d83 Modified Files -------------- src/bin/pg_basebackup/pg_basebackup.c | 64 +++++++++++---------------------- 1 file changed, 20 insertions(+), 44 deletions(-)