I installed pgAdmin 4 as part of the postgres installer for Windows. pgAdmin is now telling me there is a newer version (4.8, > 4.5 which I have). However, there is no built in upgrade functionality that I can see, and when I went to download and run the pgAdmin 4 installer to upgrade, it installed itself in the wrong place, leading to problems.
At first I tried installing it to the default location (C:\Program Files (x86)\pgAdmin 4\v4
), which was incorrect, because the previous installation (from the postgres installer) went to a different location (C:\Program Files\PostgreSQL\11\pgAdmin 4
).
The second time, I pointed it to my existing install of postgres (C:\Program Files\PostgreSQL\11\pgAdmin 4
), but it installed itself to a subdirectory there instead (C:\Program Files\PostgreSQL\11\pgAdmin 4\v4
), rather than upgrading the existing installation, once again yielding to duplicated installations and problems arising from that. I assume if I go download the postgres installer, it will just reinstall version 4.5 of pgAdmin, though I have not tested this.
What is the correct method for upgrading a pgAdmin instance originally installed by the postgres Windows installer?
If you Download the installer from here https://www.postgresql.org/ftp/pgadmin/pgadmin4/v4.8/windows/
It should automatically install the 4.8 version in (C:\Program Files (x86)\pgAdmin 4\v4) overwriting any existing 4.x version but keeping your server connections and setting.
In your case, the previous install was in a different place, therefore, you ended up having 2 versions.
What I suggest to you is go to control panel and uninstall from there all the versions you have. After that go to the above link, download and install the v4.8 in the default location. Every time there is a new version available just install it and let the installer install it on the default location.
Please note that your pgadmin server connections can be found in %appdata%\pgAdmin.
Note that I have personally just upgraded from v4.5 to v4.8 using this method (installing it in the default location) and it worked like a charm.