sql >> Base de Datos >  >> RDS >> PostgreSQL

pg_upgrade en Windows no puede escribir en el archivo de registro pg_upgrade_internal.log

Entonces, el comentario del código fuente en /src/ bin/pg_upgrade/file.c#L243 /* fopen() file with no group/other permissions */ me dio una idea.

Creé una carpeta temporal en C:\temp y le di Write permisos para Todos y luego ejecutó pg_upgrade desde ese directorio, es decir,

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

Mientras que antes intentaba ejecutar pg_upgrade desde el directorio de trabajo %PGSQL%\bin que no tenía permisos de escritura para todos.

Ahora no obtengo el cannot write to log file pg_upgrade_internal.log error más.

Los docs en realidad dice que pg_upgrade requires write permission in the current directory.