By Mayuresh A Nirhali-Oracle on Aug 13, 2008
If you really like using pgAdmin to administer you Postgresql server instance, then this tip is important for you.
Solaris/OpenSolaris supports many versions of Postgres. Currently, OpenSolaris supports postgresql version 8.1, 8.2 and 8.3; which means you can install any of these versions from the repository and it will work just out of the box. pgAdmin, a postgresql database administration/monitoring tool (also available in the repository) is not tied to any specific version of the postgres server. So, You can install pgAdmin from the repository and simply connect to the postgres server that you are using.
Now, there is small glitch here. If you are trying to run programs like pg_backup, pg_restore from pgAdmin (Option Backup, Restore on database), then you need to be careful. pgAdmin expects these binaries to be present in the same directory as itself. i.e. /usr/bin. However, different postgresql server binary versions are installed in different locations, such as,
Postgres 8.1 : /usr/bin
Postgres 8.2 : /usr/postgres/8.2/bin
Postgres 8.3 : /usr/postgres/8.3/bin
Now, Lets say, you are using pgAdmin to restore a database of version 8.1, then you are fine. But, if you do not have 8.1 installed, pgAdmin will simply disable these options from the menu, as it would not be able to see the binaries at all. Also, If you have both 8.1 & 8.2 installed, but you are using 8.2 server then pgAdmin will use backup & restore binaries from the 8.1 bin directory, simply because they exist in the same directory as pgadmin. This will result in inconsistent behavior.
The best way to resolve all such issues is to create a symlink to /usr/bin/pgadmin3 from the bin directory of the server you are using. So, e.g., If you are using 8.2, then you could do following,
bash# ln -s /usr/bin/pgadmin3 /usr/postgres/8.2/bin/pgadmin3
then just include the 'bin' directory of your server at the begining of your PATH and you will always use pgAdmin and the correct backup/restore binaries.