Hi,

On 2022-01-19 12:14:21 -0500, Tom Lane wrote:
> No, it was largely the same as what you have here, I think.  I dug
> up my WIP patch and attach it below, just in case there's any ideas
> worth borrowing.

Heh, it does look quite similar.


> +                                      "cp -a \"%s\" \"%s/data\" > 
> \"%s/log/initdb.log\" 2>&1",
> +                                      pg_proto_datadir,
> +                                      temp_instance,
> +                                      outputdir);
> +                     if (system(buf))
> +                     {
> +                             fprintf(stderr, _("\n%s: cp failed\nExamine 
> %s/log/initdb.log for the reason.\nCommand was: %s\n"), progname, outputdir, 
> buf);
> +                             exit(2);
> +                     }

Both ours have this. Unfortunately on windows cp doesn't natively
exist. Although git does provide it.  I tried a few things that appear to be
natively available (time is best of three executions):

 gnu cp from git, cp -a tmp_install\initdb_template t\
 670ms

 xcopy.exe /E /Q tmp_install\initdb_template t\
 638ms

 robocopy /e /NFL /NDL tmp_install\initdb_template t\
 575ms

So I guess we could use robocopy? That's shipped as part of windows starting in
windows 10... xcopy has been there for longer, so I might just default to that.

Greetings,

Andres Freund


Reply via email to