On Tuesday, February 3, 2026, PG Bug reporting form <
noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 19392
Logged by: Jeff Laing
Email address: jeff.laing@spatialnetworx.ai
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.
This is a very hard to accept premise and this bug report doesn’t support it.
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
Showing the log files generated by the startup attempts would be helpful. Your guess here regarding how the “-o” argument’s value behaves is incorrect, the quotes are precisely where the documentation says they should be. They should result in something like: “…/postgres -p 5432 -b” as a subprocess of the pg_ctl command which is valid.
The problem appears as far back as the 16 sources.
It seems even more unlikely that if this were the underlying cause it would have gone undetected for two full releases.
We will need a reproducing bug report with the commands issued and logs generated.
David J.