public inbox for [email protected]  
help / color / mirror / Atom feed
From: PG Bug reporting form <[email protected]>
To: [email protected]
Cc: [email protected]
Subject: BUG #19392: PG_UPGRADE is non-functional on Windows
Date: Wed, 04 Feb 2026 02:29:19 +0000
Message-ID: <[email protected]> (raw)

The following bug has been logged on the website:

Bug reference:      19392
Logged by:          Jeff Laing
Email address:      [email protected]
PostgreSQL version: 18.1
Operating system:   Windows 11
Description:        

After struggling with it for a while, I’ve come to the conclusion that
PG_UPGRADE is not functional on Windows.

Although there may be a permissions error still present, I can see that the
command-line construction is obviously in error.

The offending source code is in src\bin\pg_upgrade\server.c – in the 18
sources, it looks like this:

        /*
         * Use -b to disable autovacuum and logical replication launcher
         * (effective in PG17 or later for the latter).
         */
        snprintf(cmd, sizeof(cmd),
                         "\"%s/pg_ctl\" -w -l \"%s/%s\" -D \"%s\" -o \"-p %d
-b%s %s%s\" start",
                         cluster->bindir,
                         log_opts.logdir,
                         SERVER_LOG_FILE, cluster->pgconfig, cluster->port,
                         pgoptions.data,
                         cluster->pgopts ? cluster->pgopts : "",
socket_string);

This results in command-lines that look like:

        "C:/postgresql16/bin/pg_ctl" -w -l
"C:/postgresql18/data/pg_upgrade_output.d/20260204T130353.043/log/pg_upgrade_server.log"
-D "C:/postgresql16/data" -o "-p 5432 -b " start >>
"C:/postgresql18/data/pg_upgrade_output.d/20260204T130353.043/log/pg_upgrade_server_start.log"
2>&1

connection to server at "localhost" (::1), port 5432 failed: fe_sendauth: no
password supplied
could not connect to source postmaster started with the command:
"C:/postgresql16/bin/pg_ctl" -w -l
"C:/postgresql18/data/pg_upgrade_output.d/20260204T130353.043/log/pg_upgrade_server.log"
-D "C:/postgresql16/data" -o "-p 5432 -b " start
Failure, exiting

Note the quoting around the -o, -p and -b arguments.
There should perhaps be TWO double-quotes after -o or it should not be
present.
There should not be a double-quote after -b

The problem appears as far back as the 16 sources.








reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: BUG #19392: PG_UPGRADE is non-functional on Windows
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox