Как импортировать модули или установить расширения в PostgreSQL 9.1+?
во-первых, если вы не используете 9.1+, пожалуйста обратитесь к этому вопросу.
Как установить расширение для PostgreSQL 9.1?
6 ответов:
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, необходимо заключить имя расширения в 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/Теперь вы можете запустить команду создать расширение.
помимо расширений, которые поддерживаются и предоставляются основной командой разработчиков 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;теперь вы должны иметь .
мне не пришлось перезапускать.
Comments