Takže komentář ke zdrojovému kódu na /src/ bin/pg_upgrade/file.c#L243
/* fopen() file with no group/other permissions */
mi dal nápad.
Vytvořil jsem dočasnou složku v C:\temp a dal Write oprávnění pro Všichni a poté spustil pg_upgrade z tohoto adresáře, 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
Zatímco předtím jsem se pokoušel spustit pg_upgrade z pracovního adresáře %PGSQL%\bin
který neměl oprávnění k zápisu do Everyone.
Teď nechápu, že cannot write to log file pg_upgrade_internal.log
už chyba.
dokumenty
ve skutečnosti řekněme, že pg_upgrade requires write permission in the current directory.