Admin postgreSQL 9.1 menginstal

12

di mana-mana saya melihat panduan untuk postgre, sepertinya versi 8.4. Dalam hal ini instruksinya adalah:

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

lokasi itu tidak ada di direktori 9.1 rupanya.

Adakah yang bisa menunjukkan padaku bagaimana cara membuatnya bekerja (diperlukan untuk pgadmin)?

Robert
sumber

Jawaban:

17

paket admin dapat ditemukan di /usr/share/postgresql/9.1/extension

Untuk memasang

sudo -u postgres psql

CREATE EXTENSION adminpack;

Juga untuk melihat daftar ekstensi yang dipasang select * from pg_extension;

damien
sumber
ini kurang lebih itu. Saya sedang berusaha untuk mencapai hal ini dengan pengguna yang merupakan pemilik basis data padahal tampaknya pengguna default, yang dengan status pengguna super, diharuskan untuk melakukannya.
Robert
9

Jawaban di atas sangat bagus. Anda hanya perlu mengingat bahwa Anda perlu melakukan ini untuk setiap basis data, karena ekstensi dipasang per basis data. Instruksi di atas menginstal ekstensi di database bernama postgres. Untuk menginstalnya di database Anda cukup beralih ke database Anda:

\c yourdb dan ulangi prosesnya: CREATE EXTENSION adminpack Pada Ubuntu paket admin ada dalam paket postgresql-contrib.

Nyonya
sumber
1

Pertama, jika Anda belum menginstal contrib:

sudo apt-get install postgresql-contrib

Untuk beralih ke beberapa basis data:

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

Sebagai satu (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
msanford
sumber