Re: [GENERAL] pg_upgrade --link on Windows - Mailing list pgsql-general

From Arnaud L.
Subject Re: [GENERAL] pg_upgrade --link on Windows
Date
Msg-id a9320aea-1c9d-3e37-103e-88b7edcc2080@codata.eu
Whole thread Raw
In response to Re: [GENERAL] pg_upgrade --link on Windows  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: [GENERAL] pg_upgrade --link on Windows  ("Arnaud L." <arnaud.listes@codata.eu>)
List 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




pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: [GENERAL] pg_upgrade --link on Windows
Next
From: "Arnaud L."
Date:
Subject: Re: [GENERAL] pg_upgrade --link on Windows