During my recent work on pg_basebackup, I noticed that -T option doesn't seem to work on Windows. The reason for the same is that while updating symlinks it doesn't consider that on Windows, junction points can be directories due to which it is not able to update the symlink location. Fix is to make the code work like symlink removal code in destroy_tablespace_directories. Attached patch fixes problem.
Steps to reproduce problem ------------------------------------------ 1. Start server and connect psql client 2. Create Tablespace tbs location 'C:\database\tbs'; 3. pg_basebackup.exe -D C:\Data -Fp -x -T C:\database\tbs=C:\database\tbs1 pg_basebackup: could not remove symbolic link "C:\Data/pg_tblspc/16390": Permission denied With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
pg_basebackup_relocate_tablespace_v1.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers