13

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.sql

that location doesn't exist in the 9.1 directory apparently.

Can anyone point me how to get it working (needed for pgadmin)?

3 Answers 3

18

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;

1
  • this was more or less it. I was attempting to accomplish this with the user that was the owner of the database when in fact it appears that the default user, the one with superuser status, was required to do it.
    – Robert
    Sep 7, 2012 at 14:32
10

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 yourdb and repeat the process: CREATE EXTENSION adminpack On Ubuntu the admin pack is in the postgresql-contrib package.

1

First, if you haven't installed contrib:

sudo apt-get install postgresql-contrib

To 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};
done

As 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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .