PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

pg_upgrade unter Windows kann nicht in die Protokolldatei pg_upgrade_internal.log schreiben

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.