Встановіть адміністраторний пакет PostgreSQL 9.1


12

скрізь, де я бачу посібники для постгре, здається, це у версії 8.4. У цьому випадку інструкція:

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

цього місця очевидно не існує в каталозі 9.1.

Хтось може вказати мені, як змусити його працювати (потрібен для pgadmin)?

Відповіді:


17

Пакет адміністратора можна знайти в /usr/share/postgresql/9.1/extension

Щоб встановити

sudo -u postgres psql

CREATE EXTENSION adminpack;

Також побачити список встановлених розширень select * from pg_extension;


це було більш-менш це. Я намагався досягти цього з користувачем, який був власником бази даних, коли насправді виявляється, що для цього був потрібний користувач за замовчуванням, той, хто має статус суперпользователя.
Роберт

9

Відповідь вище чудово працює. Вам просто потрібно пам’ятати, що робити це потрібно для кожної бази даних, оскільки розширення встановлюються на базу даних. Наведені вище інструкції встановлюють розширення в базі даних з ім'ям postgres. Щоб встановити його у вашій базі даних, просто переключіться на вашу базу даних:

\c yourdb і повторіть процес: CREATE EXTENSION adminpack У Ubuntu пакет адміністратора знаходиться в пакеті postgresql-contrib.


1

По-перше, якщо ви не встановили 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$'); do
  echo "Adding adminpack to ${db}"
  psql -c "CREATE EXTENSION adminpack;" ${db};
done

Як один (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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.