Как импортировать модули или устанавливать расширения в PostgreSQL 9.1+?

во-первых, если вы не используете 9.1+, пожалуйста обратитесь к этому вопросу.

Как установить расширение для PostgreSQL 9.1?

6 ответов


Postgrseql 9.1 предоставляет новую команду CREATE EXTENSION. Вы должны использовать его для установки модулей.

модули, предусмотренные в 9.1, можно найти здесь.. The include,

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, вам нужно заключить имя расширения в double цитаты:

CREATE EXTENSION "uuid-ossp";

хотя ответ Эвана Кэррола верен, обратите внимание, что вам необходимо установить пакет postgresql contrib, чтобы команда CREATE EXTENSION работала.

В Ubuntu 12.04 это будет выглядеть так:

sudo apt-get install postgresql-contrib

перезапустите сервер postgresql:

sudo /etc/init.d/postgresql restart

все доступные расширения находятся в:

/usr/share/postgresql/9.1/extension/

Теперь вы можете запустить команду CREATE EXTENSION.


помимо расширений, которые поддерживаются и предоставляются основной командой разработчиков PostgreSQL, есть расширения, доступные от третьих лиц. Примечательно, что есть сайт, посвященный этой цели:http://www.pgxn.org/


для 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/

в терминал psql поставил:

\i <path to contrib files>

в ubuntu это обычно /usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql


как скачать и установить, если у вас есть SUSE. В качестве примера я загружаю модуль tablefunc, чтобы я мог использовать crosstab. У меня есть PostgreSQL 9.6.1.

щелкните правой кнопкой мыши рабочий стол, терминал, типа:

sudo zypper in postgreql-contrib

введите учетные данные, затем введите:

y

выполнить запрос (я запустил свой из pgAdminIII):

CREATE EXTENSION tablefunc;

теперь у вас должно быть .

мне не пришлось перезапускать.