Cài đặt gói quản trị PostgreSQL 9.1


12

ở mọi nơi tôi thấy hướng dẫn cho postgre, nó dường như là trên phiên bản 8.4. Trong trường hợp đó, hướng dẫn là:

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

vị trí đó không tồn tại trong thư mục 9.1.

Bất cứ ai có thể chỉ cho tôi làm thế nào để nó hoạt động (cần thiết cho pgadmin)?

Câu trả lời:


17

gói quản trị có thể được tìm thấy trong /usr/share/postgresql/9.1/extension

Để cài đặt

sudo -u postgres psql

CREATE EXTENSION adminpack;

Ngoài ra để xem danh sách các tiện ích mở rộng đã cài đặt select * from pg_extension;


điều này ít nhiều Tôi đã cố gắng thực hiện điều này với người dùng là chủ sở hữu của cơ sở dữ liệu khi thực tế có vẻ như người dùng mặc định, người có trạng thái siêu người dùng, được yêu cầu thực hiện.
Robert

9

Câu trả lời trên hoạt động tuyệt vời. Bạn chỉ cần nhớ rằng bạn cần phải làm điều này cho mọi cơ sở dữ liệu, vì các phần mở rộng được cài đặt cho mỗi cơ sở dữ liệu. Các hướng dẫn ở trên cài đặt các phần mở rộng trong cơ sở dữ liệu có tên postgres. Để cài đặt nó trong cơ sở dữ liệu của bạn, chỉ cần chuyển sang cơ sở dữ liệu của bạn:

\c yourdb và lặp lại quy trình: CREATE EXTENSION adminpack Trên Ubuntu gói quản trị nằm trong gói postgresql-contrib.


1

Đầu tiên, nếu bạn chưa cài đặt contrib:

sudo apt-get install postgresql-contrib

Để lặp lại qua một số cơ sở dữ liệu:

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

Là một (ish) -laner:

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.