Обсуждение: BUG #16081: pg_upgrade is failed if a fake cmd.exe exist in the current directory.

Поиск
Список
Период
Сортировка

BUG #16081: pg_upgrade is failed if a fake cmd.exe exist in the current directory.

От
PG Bug reporting form
Дата:
The following bug has been logged on the website:

Bug reference:      16081
Logged by:          cili
Email address:      cilizili@protonmail.com
PostgreSQL version: 12.0
Operating system:   Microsoft Windows [Version 10.0.18362.418]
Description:

Similar to the case of pg_ctl. If a fake cmd.exe exits in current directory,
pg_upgrade is failed to start.

Instructions:
# cd %TEMP%
# "c:\Program Files\PostgreSQL\12\bin\pg_ctl.exe" initdb -D test
# set PGDATAOLD=%TEMP%\test
# set PGDATANEW=%TEMP%\test
# set PGBINOLD=c:\Program Files\PostgreSQL\12\bin
# set PGBINNEW=c:\Program Files\PostgreSQL\12\bin
# copy %windir%\system32\calc.exe cmd.exe
# "c:\Program Files\PostgreSQL\12\bin\pg_upgrade"
Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok

*failure*
Consult the last few lines of "pg_upgrade_server_start.log" or
"pg_upgrade_server.log" for
the probable cause of the failure.

Expected:
The database is upgraded.

Actual:
The Windows calculator is started and the upgrade command is failed.


Re: BUG #16081: pg_upgrade is failed if a fake cmd.exe exist in thecurrent directory.

От
Daniel Gustafsson
Дата:
> On 26 Oct 2019, at 06:32, PG Bug reporting form <noreply@postgresql.org> wrote:
>
> The following bug has been logged on the website:
>
> Bug reference:      16081
> Logged by:          cili
> Email address:      cilizili@protonmail.com
> PostgreSQL version: 12.0
> Operating system:   Microsoft Windows [Version 10.0.18362.418]
> Description:
>
> Similar to the case of pg_ctl. If a fake cmd.exe exits in current directory,
> pg_upgrade is failed to start.
>
> Instructions:
> # cd %TEMP%
> # "c:\Program Files\PostgreSQL\12\bin\pg_ctl.exe" initdb -D test
> # set PGDATAOLD=%TEMP%\test
> # set PGDATANEW=%TEMP%\test
> # set PGBINOLD=c:\Program Files\PostgreSQL\12\bin
> # set PGBINNEW=c:\Program Files\PostgreSQL\12\bin
> # copy %windir%\system32\calc.exe cmd.exe
> # "c:\Program Files\PostgreSQL\12\bin\pg_upgrade”

pg_upgrade aborting an upgrade in a broken environment seems like proper
behavior.  Not knowing Windows I might be missing something, but when is this
ever a legitimate usecase?

cheers ./daniel