Trước tiên, nếu bạn không sử dụng 9.1+, vui lòng tham khảo câu hỏi này .
Làm cách nào để cài đặt tiện ích mở rộng cho PostgreSQL 9.1?
Trước tiên, nếu bạn không sử dụng 9.1+, vui lòng tham khảo câu hỏi này .
Làm cách nào để cài đặt tiện ích mở rộng cho PostgreSQL 9.1?
Câu trả lời:
Postgrseql 9.1 cung cấp một lệnh mới CREATE EXTENSION
. Bạn nên sử dụng nó để cài đặt các mô-đun.
Các mô-đun được cung cấp trong 9.1 có thể được tìm thấy tại đây. . Bao gồm,
adminpack , auth_delay , auto_explain , btree_gin , btree_gist
, chkpass , citext , cube , dblink , dict_int
, dict_xsyn , dummy_seclabel , earthdistance , file_fdw , fuzzystrmatch
, hstore , intagg , intarray , isn , lo
, ltree , oid2name , pageinspect , passwordcheck , pg_archivecleanup
, pgbench , pg_buffercache , pgcrypto , pg_freespacemap , pgrowlocks
, pg_standby , pg_stat_statements , pgstattuple , pg_test_fsync , pg_trgm
, pg_upgrade , seg , sepgsql , spi , sslinfo , tablefunc
, test_parser , tsearch2 , unaccent , uuid-ossp , vacuumlo
, xml2
Ví dụ, nếu bạn muốn cài đặt earthdistance
, chỉ cần sử dụng lệnh này:
CREATE EXTENSION earthdistance;
Nếu bạn muốn cài đặt một tiện ích mở rộng có dấu gạch ngang trong tên của nó, chẳng hạn như uuid-ossp
, bạn cần đặt tên tiện ích mở rộng trong dấu ngoặc kép:
CREATE EXTENSION "uuid-ossp";
DROP EXTENSION
. Bạn cũng có thể nhận được danh sách tiện ích mở rộng và có hỗ trợ cơ bản cho số phiên bản.Mặc dù câu trả lời của Evan Carrol là đúng, xin lưu ý rằng bạn cần cài đặt gói đóng góp postgresql để lệnh CREATE EXTENSION hoạt động.
Trong Ubuntu 12.04, nó sẽ như thế này:
sudo apt-get install postgresql-contrib
Khởi động lại máy chủ postgresql:
sudo /etc/init.d/postgresql restart
Tất cả tiện ích mở rộng có sẵn trong:
/usr/share/postgresql/9.1/extension/
Bây giờ bạn có thể chạy lệnh CREATE EXTENSION.
Ngoài các tiện ích mở rộng được duy trì và cung cấp bởi nhóm phát triển PostgreSQL cốt lõi, còn có các tiện ích mở rộng có sẵn từ các bên thứ ba. Đáng chú ý, có một trang web dành riêng cho mục đích đó: http://www.pgxn.org/
Đối với người đăng bàiql10
Tôi đã giải quyết nó với
yum install postgresql10-contrib
Đừng quên kích hoạt các tiện ích mở rộng trong postgresql.conf
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.track = all
sau đó tất nhiên khởi động lại
systemctl restart postgresql-10.service
tất cả các tiện ích mở rộng cần thiết bạn có thể tìm thấy ở đây
/usr/pgsql-10/share/extension/
Các phần mở rộng có sẵn cho mỗi phiên bản Postgresql khác nhau. Một cách dễ dàng để kiểm tra những tiện ích mở rộng nào khả dụng, như đã được đề cập:
SELECT * FROM pg_available_extensions;
Nếu tiện ích mở rộng bạn đang tìm kiếm có sẵn, bạn có thể cài đặt nó bằng cách sử dụng:
CREATE EXTENSION 'extensionName';
hoặc nếu bạn muốn bỏ nó, hãy sử dụng:
DROP EXTENSION 'extensionName';
Với psql
bạn bổ sung có thể kiểm tra nếu phần mở rộng đã được cài đặt thành công sử dụng \dx
, và tìm thêm chi tiết về việc gia hạn sử dụng \dx+ extensioName
. Nó trả về thông tin bổ sung về tiện ích mở rộng, như gói nào được sử dụng với nó.
Nếu tiện ích mở rộng không có sẵn trong phiên bản Postgres của bạn, thì bạn cần tải xuống các tệp và thư viện nhị phân cần thiết và định vị chúng tại /usr/share/conrib
Vào thiết bị đầu cuối psql đặt:
\i <path to contrib files>
trong ubuntu nó thường là /usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql
Cách tải xuống và cài đặt nếu bạn có SUSE. Như một ví dụ, tôi đang tải xuống mô-đun tablefunc để tôi có thể sử dụng bảng chữ cái. Tôi có PostgreSQL 9.6.1.
nhấp chuột phải vào màn hình, thiết bị đầu cuối, nhập:
sudo zypper in postgreql-contrib
Nhập thông tin đăng nhập, tiếp tục bằng cách nhập:
y
Chạy truy vấn (tôi đã chạy của tôi từ pgAdminIII):
CREATE EXTENSION tablefunc;
Bây giờ bạn sẽ có crosstab
chức năng.
Tôi không phải khởi động lại.
DROP EXTENSION extension_name [, ...]