PostgreSQL 9.1 이상에서 모듈을 가져 오거나 확장을 설치하려면 어떻게해야합니까?


답변:


104

Postgrseql 9.1은 새로운 명령을 제공합니다 CREATE EXTENSION. 모듈을 설치할 때 사용해야합니다.

9.1에서 제공되는 모듈은 여기에서 찾을 수 있습니다. . 포함,

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

예를 들어를 설치 earthdistance하려면 다음 명령을 사용하십시오.

CREATE EXTENSION earthdistance;

와 같이 이름에 하이픈이 포함 된 확장 프로그램을 설치하려면 uuid-ossp확장 이름을 큰 따옴표로 묶어야합니다.

CREATE EXTENSION "uuid-ossp";

3
편의를 위해 확장을 제거하려면 : DROP EXTENSION extension_name [, ...]
Stew

58

Evan Carrol의 대답은 정확하지만 CREATE EXTENSION 명령이 작동하려면 postgresql contrib 패키지를 설치해야합니다.

Ubuntu 12.04에서는 다음과 같이됩니다.

sudo apt-get install postgresql-contrib

postgresql 서버를 다시 시작합니다.

sudo /etc/init.d/postgresql restart

사용 가능한 모든 확장 기능은 다음과 같습니다.

/usr/share/postgresql/9.1/extension/

이제 CREATE EXTENSION 명령을 실행할 수 있습니다.


citext를 설치하려고했지만 Google이이 페이지를 찾지 못했고이 답변이 나오지 않았습니다. 이제 citext가이 페이지에서 세 번 언급되었습니다. :-) Google에서 색인 작업을 수행하십시오.
boatcoder

12

핵심 PostgreSQL 개발 팀에서 유지 관리하고 제공하는 확장 외에도 타사에서 사용할 수있는 확장이 있습니다. 특히, 그 목적을위한 사이트가 있습니다 : http://www.pgxn.org/


8

postgrersql10의 경우

나는 그것을 해결했다

yum install postgresql10-contrib

postgresql.conf에서 확장을 활성화하는 것을 잊지 마십시오

shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.track = all

물론 다시 시작

systemctl restart postgresql-10.service 

여기에서 찾을 수있는 필요한 모든 확장 기능

/usr/pgsql-10/share/extension/

4

Postgresql의 각 버전에 사용할 수있는 확장은 다양합니다. 이미 언급했듯이 사용 가능한 확장을 확인하는 쉬운 방법은 다음과 같습니다.

SELECT * FROM pg_available_extensions;

찾고있는 확장을 사용할 수있는 경우 다음을 사용하여 설치할 수 있습니다.

CREATE EXTENSION 'extensionName';

또는 드롭하려면 다음을 사용하십시오.

DROP EXTENSION 'extensionName';

를 사용 psql하여 확장이 성공적으로 설치되었는지 추가로 확인할 수 \dx있으며을 사용하여 확장에 대한 자세한 내용을 찾을 수 있습니다 \dx+ extensioName. 확장과 함께 사용되는 패키지와 같은 확장에 대한 추가 정보를 반환합니다.

Postgres 버전에서 확장 기능을 사용할 수없는 경우 필요한 바이너리 파일 및 라이브러리를 다운로드하고 다음 위치에서 찾아야합니다. /usr/share/conrib


0

psql 터미널에 넣으십시오.

\i <path to contrib files>

우분투에서는 보통 /usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql


6
9.1 이전 버전입니다. 9.1+에서는이 방법을 사용하지 마십시오.
Evan Carroll

0

SUSE가있는 경우 다운로드 및 설치하는 방법. 예를 들어 crosstab을 사용할 수 있도록 tablefunc 모듈을 다운로드하고 있습니다. PostgreSQL 9.6.1이 있습니다.

데스크탑, 터미널을 마우스 오른쪽 버튼으로 클릭하고 다음을 입력합니다.

sudo zypper in postgreql-contrib

자격 증명을 입력하고 다음을 입력하여 계속합니다.

y

쿼리 실행 (pgAdminIII에서 내 실행) :

CREATE EXTENSION tablefunc;

이제 crosstab기능 이 있어야합니다 .

다시 시작할 필요가 없었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.