Så källkodskommentaren på /src/ bin/pg_upgrade/file.c#L243
/* fopen() file with no group/other permissions */
gav mig en idé.
Jag skapade en temp-mapp på C:\temp och gav Write behörigheter till Alla , och körde sedan pg_upgrade från den katalogen, dvs.
C:\temp>C:\Apps\postgresql\pgsql-9.5.0\bin\pg_upgrade.exe --old-datadir=E:\PGSQL_data --new-datadir=E:\PGSQLData\pgsql-9.5 --old-bindir=C:\Apps\postgresql\pgsql-9.4.5.3\bin --new-bindir=C:\Apps\postgresql\pgsql-9.5.0\bin
Medan jag innan försökte köra pg_upgrade från arbetskatalogen %PGSQL%\bin
som inte hade en skrivbehörighet till alla.
Nu förstår jag inte cannot write to log file pg_upgrade_internal.log
fel längre.
dokumenten
säg faktiskt att pg_upgrade requires write permission in the current directory.