On Wed, Aug 13, 2014 at 9:20 PM, MauMau <[email protected]> wrote: > > From: "Amit Kapila" <[email protected]> > >> 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 ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
