Приложение F. Дополнительно поставляемые модули
Содержание
- F.1. adminpack
- F.2. amcheck
 - F.3. auth_delay
 - F.4. auto_explain
 - F.5. bloom
 - F.6. btree_gin
 - F.7. btree_gist
 - F.8. chkpass
 - F.9. citext
 - F.10. spi
 - F.11. cube
 - F.12. dblink
 - F.13. dict_int
 - F.14. dict_xsyn
 - F.15. dump_stat
 - F.16. earthdistance
 - F.17. fasttrun
 - F.18. file_fdw
 - F.19. fulleq
 - F.20. fuzzystrmatch
 - F.21. hstore
 - F.22. Модули словарей Hunspell
 - F.23. intagg
 - F.24. intarray
 - F.25. isn
 - F.26. jsquery
 - F.27. lo
 - F.28. ltree
 - F.29. mchar
 - F.30. online_analyze
 - F.31. pageinspect
 - F.32. passwordcheck
 - F.33. pg_buffercache
 - F.34. pgcrypto
 - F.35. pg_freespacemap
 - F.36. pg_pathman
 - F.37. pg_prewarm
 - F.38. pg_query_state
 - F.39. pgrowlocks
 - F.40. pg_stat_statements
 - F.41. pgstattuple
 - F.42. pg_trgm
 - F.43. pg_tsparser
 - F.44. pg_variables
 - F.45. pg_visibility
 - F.46. plantuner
 - F.47. postgres_fdw
 - F.48. seg
 - F.49. sepgsql
 - F.50. shared_ispell
 - F.51. sr_plan
 - F.52. sslinfo
 - F.53. tablefunc
 - F.54. tcn
 - F.55. test_decoding
 - F.56. tsm_system_rows
 - F.57. tsm_system_time
 - F.58. unaccent
 - F.59. uuid-ossp
 - F.60. xml2
  - F.2. amcheck
 
В этом и следующем приложении содержится информация о модулях, которые можно найти в каталоге contrib дистрибутива Postgres Pro. В их число входят средства портирования, утилиты анализа и подключаемые функции, не включённые в состав основной системы Postgres Pro, в основном потому что они адресованы ограниченной аудитории или находятся в экспериментальном состоянии, неподходящем для основного дерева кода. Однако это всё не умаляет их полезность.
В этом приложении описываются расширения и другие подключаемые серверные модули, включённые в contrib. В Приложении G описываются вспомогательные программы.
При сборке сервера из дистрибутивного исходного кода эти компоненты собираются, только если выбрана цель "world" (см. Шаг 2). Вы можете собрать и установить их отдельно, выполнив:
makemake install
 в каталоге contrib в настроенном дереве исходного кода; либо собрать и установить только один выбранный модуль, проделав то же самое в его подкаталоге. Для многих модулей имеются регрессионные тесты, которые можно выполнить, запустив: 
make check
перед установкой или
make installcheck
, когда сервер Postgres Pro будет работать.
Если вы используете готовую собранную версию Postgres Pro, эти модули обычно поставляются в виде отдельного подпакета, например postgresql-contrib.
Многие модули предоставляют дополнительные пользовательские функции, операторы и типы. Чтобы использовать один из таких модулей, когда его исполняемый код установлен, вы должны зарегистрировать новые объекты SQL в СУБД. В Postgres Pro и PostgreSQL версии 9.1 и новее для этого нужно воспользоваться командой CREATE EXTENSION. В чистой базе данных вы можете просто выполнить:
CREATE EXTENSION имя_модуля; Запускать эту команду должен суперпользователь баз данных. При этом новые объекты SQL будут зарегистрированы только в текущей базе данных, так что эту команду нужно выполнять в каждой базе данных, в которой вы хотите пользоваться функциональностью этого модуля. Вы также можете запустить её в template1, чтобы установленное расширение копировалось во все впоследствии создаваемые базы по умолчанию.
Многие модули позволяют устанавливать свои объекты в схему по выбору. Для этого нужно добавить SCHEMA  в команду имя_схемыCREATE EXTENSION. По умолчанию объекты устанавливаются в текущую схему для создаваемых объектов, которой по умолчанию становится public.
Если ваша база данных была получена в результате выгрузки/перезагрузки данных PostgreSQL версии до 9.1, и вы ранее использовали версию этого модуля, рассчитанную на версию до 9.1, вместо этого вы должны выполнить:
CREATE EXTENSION имя_модуля FROM unpackaged;При этом объекты этого модуля версии до 9.1 будут упакованы в соответствующий объект расширения. После этого обновления расширения будут осуществляться командой ALTER EXTENSION. За дополнительными сведениями об обновлении расширении обратитесь к Разделу 38.15.
Однако некоторые из этих модулей не являются «расширениями» в этом смысле, а подключаются к серверу по-другому, например, через параметр конфигурации shared_preload_libraries. Подробнее об этом говорится в документации каждого модуля.
