Re: option -T in pg_basebackup doesn't work on windows - Mailing list pgsql-hackers

From MauMau
Subject Re: option -T in pg_basebackup doesn't work on windows
Date
Msg-id 6B333FCCAB5046FB9FC0C935AD61EB8B@maumau
Whole thread Raw
In response to option -T in pg_basebackup doesn't work on windows  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: option -T in pg_basebackup doesn't work on windows
Re: option -T in pg_basebackup doesn't work on windows
List pgsql-hackers
From: "Amit Kapila" <amit.kapila16@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


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);

Regards
MauMau





pgsql-hackers by date:

Previous
From: Kevin Grittner
Date:
Subject: Re: strncpy is not a safe version of strcpy
Next
From: Tom Lane
Date:
Subject: Re: failures on barnacle (CLOBBER_CACHE_RECURSIVELY) because of memory leaks