Как импортировать модули или устанавливать расширения в 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";
- подробнее о contrib и модулях, доступных в 9.1.
-
читайте о новой инфраструктуре расширения и командах SQL для управления ею здесь теперь вы можете легко удалить модуль, см.
DROP EXTENSION
. Вы также можете получить список расширений, и есть базовая поддержка номера версий.
хотя ответ Эвана Кэррола верен, обратите внимание, что вам необходимо установить пакет 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;
теперь у вас должно быть .
мне не пришлось перезапускать.