PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

pg_upgrade sous Windows ne peut pas écrire dans le fichier journal pg_upgrade_internal.log

Donc, le commentaire du code source à /src/ bin/pg_upgrade/file.c#L243 /* fopen() file with no group/other permissions */ m'a donné une idée.

J'ai créé un dossier temporaire sur C:\temp et donné Write autorisations à Tout le monde , puis a exécuté pg_upgrade à partir de ce répertoire, c'est-à-dire

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

Alors qu'avant j'essayais d'exécuter pg_upgrade depuis le répertoire de travail %PGSQL%\bin qui n'avait pas d'autorisations d'écriture sur Tout le monde.

Maintenant, je ne reçois pas le cannot write to log file pg_upgrade_internal.log erreur plus.

La documentation dire en fait pg_upgrade requires write permission in the current directory.