Postgresql – Upgrading using pg_upgrade on windows fails

postgresqlpostgresql-9.2postgresql-9.3upgradewindows

When upgrading from postgres 9.2 to 9.3 by following the upgrade procedure found in PostgreSQL 9.3.4 documentation about pg_upgrade, the following command fails:

RUNAS /USER:postgres "CMD.EXE"

After some investigation, it seems there is no postgres windows user on the machine. This causes the pg_upgrade command to fail as well.

How should I run the upgrade process?

Best Answer

Open an administrator cmd window as described in the link above.

Make sure you cd into an empty writable folder (for example, c:\temp\somewhere).

Execute the pg_upgrade command, and make sure to add an -u postgres parameter to it:

"C:\Program Files\PostgreSQL\9.3\bin\pg_upgrade.exe" -u postgres 
    --old-datadir "C:/Program Files/PostgreSQL/9.2/data" 
    --new-datadir "C:/Program Files/PostgreSQL/9.3/data" 
    --old-bindir "C:/Program Files/PostgreSQL/9.2/bin" 
    --new-bindir "C:/Program Files/PostgreSQL/9.3/bin"