On Wed, Aug 13, 2014 at 9:20 PM, MauMau <maumau...@gmail.com> wrote: > > From: "Amit Kapila" <amit.kapil...@gmail.com> > >> 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. > > > I could reproduce the problem on my Windows machine. > > The code change appears correct, but the patch application failed against the latest source code. I don't know why. Could you confirm this? > > patching file src/bin/pg_basebackup/pg_basebackup.c > Hunk #1 FAILED at 1119. > 1 out of 1 hunk FAILED -- saving rejects to file src/bin/pg_basebackup/pg_basebackup.c.rej
It failed due to one of recent commits as mentioned by Michael. Please find the rebased patch attached with this mail > On the following line, I think %d must be %u, because Oid is an unsigned integer. > > char *linkloc = psprintf("%s/pg_tblspc/%d", basedir, oid); Yeah, though this is not introduced by patch, but I think this should be fixed and I have fixed it attached patch. With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
pg_basebackup_relocate_tablespace_v2.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