Tak więc komentarz do kodu źródłowego pod adresem /src/ bin/pg_upgrade/file.c#L243
/* fopen() file with no group/other permissions */
dał mi pomysł.
Utworzyłem folder tymczasowy w C:\temp i dałem Write uprawnienia dla wszystkich , a następnie uruchomił pg_upgrade z tego katalogu, tj.
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
Podczas gdy wcześniej próbowałem uruchomić pg_upgrade z katalogu roboczego %PGSQL%\bin
który nie miał uprawnień do zapisu dla wszystkich.
Teraz nie otrzymuję komunikatu cannot write to log file pg_upgrade_internal.log
błąd już.
dokumentacja
faktycznie powiedzmy, że pg_upgrade requires write permission in the current directory.