everywhere I see guides for postgre, it seems to be on version 8.4. In that case the instruction is:
sudo -u postgres psql < /usr/share/postgresql/8.4/contrib/adminpack.sqlthat location doesn't exist in the 9.1 directory apparently.
Can anyone point me how to get it working (needed for pgadmin)?
3 Answers
admin pack can be found in /usr/share/postgresql/9.1/extension
To install
sudo -u postgres psql
CREATE EXTENSION adminpack;
Also to see a list of installed extensions select * from pg_extension;
The answer above works great. You just have to remember that you need to do this for every database, as the extensions are installed per database.
The instructions above install the extensions in the database named postgres. To install it in your database just switch to your database:
\c yourdband repeat the process: CREATE EXTENSION adminpackOn Ubuntu the admin pack is in the postgresql-contrib package.
First, if you haven't installed contrib:
sudo apt-get install postgresql-contribTo iterate over several databases:
sudo su postgres;
for db in $(psql -c "SELECT datname FROM pg_database WHERE datistemplate = false;" | sed '1,2d' | head -n -2 | grep -v '^ postgres$'); do echo "Adding adminpack to ${db}" psql -c "CREATE EXTENSION adminpack;" ${db};
doneAs a one(ish)-liner:
sudo su postgres;
for db in $(psql -c "SELECT datname FROM pg_database WHERE datistemplate = false;" | sed '1,2d' | head -n -2 | grep -v '^ postgres$'); do psql -c "CREATE EXTENSION adminpack;" ${db}; done