PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

pg_upgrade su Windows non può scrivere nel file di registro pg_upgrade_internal.log

Quindi il commento del codice sorgente su /src/ bin/pg_upgrade/file.c#L243 File /* fopen() file with no group/other permissions */ mi ha dato un'idea.

Ho creato una cartella temporanea in C:\temp e ho dato Write autorizzazioni a Tutti , quindi ha eseguito pg_upgrade da quella directory, ovvero

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

Mentre prima stavo cercando di eseguire pg_upgrade dalla directory di lavoro %PGSQL%\bin che non disponeva di autorizzazioni di scrittura per tutti.

Ora non ricevo il cannot write to log file pg_upgrade_internal.log errore più.

I documenti effettivamente dire che pg_upgrade requires write permission in the current directory.