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?

  • Just use a regular user but make sure that user can write to both data directories (the new and the old one). May 7 '14 at 21:54

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"
  • 1
    Use -U (capital "U") for postgres 9.5! Feb 1 '16 at 17:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.