Re: pg_upgrade --link on Windows

From: "Arnaud L(dot)" <arnaud(dot)listes(at)codata(dot)eu>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>
Cc: PG-General Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Re: pg_upgrade --link on Windows
Date: 2017-06-09 15:02:42
Message-ID: a9320aea-1c9d-3e37-103e-88b7edcc2080@codata.eu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs pgsql-general

Le 9/06/2017 à 16:55, Adrian Klaver a écrit :
> On 06/09/2017 07:39 AM, Arnaud L. wrote:
>> So maybe pg_upgrade uses hard-links (i.e. to files), and only the
>> documentation is wrong by calling them junctions (i.e. soft links to
>> files) ?
>
> Looks that way. In file.c in ~/src/bin/pg_upgrade I see:
>
> #ifdef WIN32
> 300 /* implementation of pg_link_file() on Windows */
> 301 static int
> 302 win32_pghardlink(const char *src, const char *dst)
> 303 {
> 304 /*
> 305 * CreateHardLinkA returns zero for failure
> 306 * http://msdn.microsoft.com/en-us/library/aa363860(VS.85).aspx
> 307 */
> 308 if (CreateHardLinkA(dst, src, NULL) == 0)
> 309 {
> 310 _dosmaperr(GetLastError());
> 311 return -1;
> 312 }
> 313 else
> 314 return 0;
> 315 }
> 316 #endif

Great !
So I did a full upgrade for nothing (just for safety), but that's good
to know for next time !
Should this be submitted to postgresql-bugs, or is there something more
specific to the documentation ?

Regards
--
Arnaud

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Arnaud L. 2017-06-09 15:09:52 pg_upgrade --link on windows
Previous Message Adrian Klaver 2017-06-09 14:55:55 Re: pg_upgrade --link on Windows

Browse pgsql-general by date

  From Date Subject
Next Message Arnaud L. 2017-06-09 15:28:25 Re: pg_upgrade --link on Windows
Previous Message Adrian Klaver 2017-06-09 14:55:55 Re: pg_upgrade --link on Windows