Расширения
-
Специализированные и экспериментальные модули PostgreSQL
- adminpack
- amcheck
- auth_delay
- auto_explain
- bloom
- btree_gin
- btree_gist
- citext
- cube
- dblink
- dict_int
- dict_xsyn
- earthdistance
- file_fdw
- fuzzystrmatch
- hstore
- intagg
- intarray
- isn
- lo
- ltree
- old_snapshot
- pageinspect
- passwordcheck
- pg_buffercache
- pgcrypto
- pg_freespacemap
- pg_prewarm
- pgrowlocks
- pg_stat_statements
- pgstattuple
- pg_surgery
- pg_trgm
- pg_visibility
- postgres_fdw
- seg
- sepgsql
- spi
- sslinfo
- tablefunc
- tcn
- test_decoding
- tsm_system_rows
- tsm_system_time
- unaccent
- uuid-ossp
- xml2
В данном разделе содержится информация о модулях, которые можно найти в каталоге share/extension дистрибутива QHB. В их число входят средства портирования, утилиты анализа и подключаемые функции, не включенные в состав основной системы QHB, в основном потому что они предназначены для ограниченной аудитории или чересчур экспериментальны, чтобы быть частью основного дерева кода. Тем не менее это не отменяет их полезность.
В этом приложении рассматриваются расширения и другие подключаемые серверные модули, находящиеся в пакете qhb-contrib, который необходимо установить в соответствии с описанием по установке.
Многие модули предоставляют новые пользовательские функции, операторы и типы.
Чтобы использовать один из этих модулей после установки его кода, вы должны
зарегистрировать новые объекты SQL в СУБД. Для этого нужно выполнить команду
CREATE EXTENSION
. В чистой базе данных можно просто выполнить
CREATE EXTENSION имя_модуля;
Эта команда регистрирует новые объекты SQL только в текущей базе данных, поэтому ее необходимо выполнять в каждой базе данных, в которой вам требуется функциональность этого модуля. Как вариант, эту команду можно запустить в базе-шаблоне template1, чтобы нужное расширение копировалось во все создаваемые впоследствии базы данных по умолчанию.
Для всех этих модулей CREATE EXTENSION
должен выполнять суперпользователь, если
только модуль не рассматривается как «доверенный» — тогда его может устанавливать
любой пользователь, имеющий право CREATE в текущей базе данных. В разделах, где
описываются модули, отмечено, какие из них являются доверенными. В целом,
доверенными модулями считаются те, которые не предоставляют доступ к
функциональности за рамками базы данных.
Многие модули позволяют устанавливать свои объекты в схему по выбору. Для этого
нужно добавить SCHEMA имя_схемы
в команду CREATE EXTENSION
. По умолчанию
объекты устанавливаются в текущую схему для создаваемых объектов, которой, в
свою очередь, по умолчанию становится public.
Однако обратите внимание, что некоторые из этих модулей не являются «расширениями» в этом смысле, а загружаются на сервер по-другому, например, через параметр shared_preload_libraries. Более подробную информацию можно найти в документации каждого модуля.