Also der Quellcode-Kommentar unter /src/ bin/pg_upgrade/file.c#L243
/* fopen() file with no group/other permissions */
hat mich auf eine Idee gebracht.
Ich habe einen temporären Ordner unter C:\temp erstellt und Write gegeben Berechtigungen für Jeder , und führte dann pg_upgrade aus diesem Verzeichnis aus, d. h.
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
Während ich zuvor versucht habe, pg_upgrade aus dem Arbeitsverzeichnis %PGSQL%\bin
auszuführen die keine Schreibberechtigung für Jeder hatte.
Jetzt bekomme ich nicht die Meldung cannot write to log file pg_upgrade_internal.log
Fehler mehr.
Die Dokumentation
eigentlich sagen pg_upgrade requires write permission in the current directory.