везде я вижу руководства для postgre, это, кажется, находится на версии 8.4. В этом случае инструкция:
sudo -u postgres psql < /usr/share/postgresql/8.4/contrib/adminpack.sql
то местоположение не существует в 9,1 каталогах, по-видимому.
Кто-либо может указать на меня, как получить его работа (необходимый для pgadmin)?
администраторский пакет может быть найден в /usr/share/postgresql/9.1/extension
Для установки
sudo -u postgres psql
CREATE EXTENSION adminpack;
Также для наблюдения списка установленных расширений select * from pg_extension;
Ответ выше работает отлично. Просто необходимо помнить, что необходимо сделать это для каждой базы данных, поскольку расширения установлены для каждой базы данных. Инструкции выше устанавливают расширения в базе данных, названной postgres
. Для установки его в базе данных просто переключаются на базу данных:
\c yourdb
и повторение процесс:
CREATE EXTENSION adminpack
На Ubuntu администраторский пакет находится в postgresql-contrib пакете.
Во-первых, если Вы не установили contrib
:
sudo apt-get install postgresql-contrib
Для итерации по нескольким базам данных:
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 Как один (выход) - лайнер:
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
); do
echo "Adding adminpack to ${db}"
psql -c "CREATE EXTENSION adminpack;" ${db};
done
Как один (выход) - лайнер:
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