Instalação do adminpack do PostgreSQL 9.1

12

em todos os lugares que vejo guias para o postgre, parece estar na versão 8.4. Nesse caso, a instrução é:

sudo -u postgres psql < /usr/share/postgresql/8.4/contrib/adminpack.sql

aparentemente esse local não existe no diretório 9.1.

Alguém pode me indicar como fazê-lo funcionar (necessário para o pgadmin)?

Robert
fonte

Respostas:

17

pacote de administração pode ser encontrado em /usr/share/postgresql/9.1/extension

Para instalar

sudo -u postgres psql

CREATE EXTENSION adminpack;

Também para ver uma lista de extensões instaladas select * from pg_extension;

damien
fonte
isso era mais ou menos isso. Eu estava tentando fazer isso com o usuário que era o proprietário do banco de dados quando, na verdade, parece que o usuário padrão, aquele com status de superusuário, era necessário para fazê-lo.
Robert
9

A resposta acima funciona muito bem. Você só precisa se lembrar de que precisa fazer isso para todos os bancos de dados, pois as extensões são instaladas por banco de dados. As instruções acima instalam as extensões no banco de dados chamado postgres. Para instalá-lo no seu banco de dados, basta alternar para o seu banco de dados:

\c yourdb e repita o processo: CREATE EXTENSION adminpack No Ubuntu, o pacote de administração está no pacote postgresql-contrib.

Maddin
fonte
1

Primeiro, se você não instalou contrib:

sudo apt-get install postgresql-contrib

Para iterar em vários bancos de dados:

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

Como um forro (ish):

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
msanford
fonte