Приложение F. Дополнительно поставляемые модули

Содержание

F.1. adminpack
F.2. auth_delay
F.2.1. Параметры конфигурации
F.2.2. Автор
F.3. auto_explain
F.3.1. Параметры конфигурации
F.3.2. Пример
F.3.3. Автор
F.4. bloom
F.4.1. Параметры
F.4.2. Примеры
F.4.3. Интерфейс класса операторов
F.4.4. Ограничения
F.4.5. Авторы
F.5. btree_gin
F.5.1. Пример использования
F.5.2. Авторы
F.6. btree_gist
F.6.1. Пример использования
F.6.2. Авторы
F.7. chkpass
F.7.1. Автор
F.8. citext
F.8.1. Обоснование
F.8.2. Как его использовать
F.8.3. Поведение при сравнении строк
F.8.4. Ограничения
F.8.5. Автор
F.9. cube
F.9.1. Синтаксис
F.9.2. Точность
F.9.3. Использование
F.9.4. Поведение по умолчанию
F.9.5. Замечания
F.9.6. Благодарности
F.10. dblink
F.11. dict_int
F.11.1. Конфигурирование
F.11.2. Использование
F.12. dict_xsyn
F.12.1. Конфигурирование
F.12.2. Использование
F.13. dump_stat
F.13.1. Функции
F.14. earthdistance
F.14.1. Земные расстояния по кубам
F.14.2. Земные расстояния по точкам
F.15. file_fdw
F.16. fuzzystrmatch
F.16.1. Soundex
F.16.2. Левенштейн
F.16.3. Metaphone
F.16.4. Double Metaphone
F.17. hstore
F.17.1. Внешнее представление hstore
F.17.2. Операторы и функции hstore
F.17.3. Индексы
F.17.4. Примеры
F.17.5. Статистика
F.17.6. Совместимость
F.17.7. Трансформации
F.17.8. Авторы
F.18. Модули словарей Hunspell
F.18.1. Примеры
F.19. intagg
F.19.1. Функции
F.19.2. Примеры использования
F.20. intarray
F.20.1. Функции и операторы intarray
F.20.2. Поддержка индексов
F.20.3. Пример
F.20.4. Тестирование производительности
F.20.5. Авторы
F.21. isn
F.21.1. Типы данных
F.21.2. Приведения
F.21.3. Функции и операторы
F.21.4. Примеры
F.21.5. Библиография
F.21.6. Автор
F.22. jsquery
F.22.1. Введение
F.22.2. Авторы
F.22.3. Благодарности
F.22.4. Установка
F.22.5. Язык запросов JSON
F.22.6. Индексы GIN
F.22.7. Вклад в развитие
F.23. lo
F.23.1. Обоснование
F.23.2. Как его использовать
F.23.3. Ограничения
F.23.4. Автор
F.24. ltree
F.24.1. Определения
F.24.2. Операторы и функции
F.24.3. Индексы
F.24.4. Пример
F.24.5. Трансформации
F.24.6. Авторы
F.25. pageinspect
F.25.1. Функции
F.26. passwordcheck
F.27. pg_arman
F.27.1. Имя
F.27.2. Синтаксис
F.27.3. Описание
F.27.4. Команды
F.27.5. Параметры
F.27.6. Ограничения
F.27.7. Подробности
F.27.8. Автор
F.28. pg_buffercache
F.28.1. Представление pg_buffercache
F.28.2. Пример вывода
F.28.3. Авторы
F.29. pgcrypto
F.29.1. Стандартные функции хеширования
F.29.2. Функции хеширования пароля
F.29.3. Функции шифрования на базе PGP
F.29.4. Низкоуровневые функции шифрования
F.29.5. Функции получения случайных данных
F.29.6. Замечания
F.29.7. Автор
F.30. pg_freespacemap
F.30.1. Функции
F.30.2. Пример вывода
F.30.3. Автор
F.31. pg_pathman
F.31.1. Обзор
F.31.2. Планы развития
F.31.3. Руководство по установке
F.31.4. Доступные функции
F.31.5. Представления и таблицы
F.31.6. Дополнительные узлы плана
F.31.7. Примеры
F.31.8. Обратная связь
F.31.9. Авторы
F.32. pg_prewarm
F.32.1. Функции
F.32.2. Автор
F.33. pg_query_state
F.33.1. Обзор
F.33.2. Сценарии использования
F.33.3. Установка
F.33.4. Функция pg_query_state
F.33.5. Конфигурационные параметры
F.33.6. Примеры
F.34. pgrowlocks
F.34.1. Обзор
F.34.2. Пример вывода
F.34.3. Автор
F.35. pg_stat_statements
F.35.1. Представление pg_stat_statements
F.35.2. Функции
F.35.3. Параметры конфигурации
F.35.4. Пример вывода
F.35.5. Авторы
F.36. pgstattuple
F.36.1. Функции
F.36.2. Авторы
F.37. pg_trgm
F.37.1. Понятия, связанные с триграммами (или триграфами)
F.37.2. Функции и операторы
F.37.3. Параметры GUC
F.37.4. Поддержка индексов
F.37.5. Интеграция с текстовым поиском
F.37.6. Ссылки
F.37.7. Авторы
F.38. pg_variables
F.38.1. Введение
F.38.2. Функции модуля
F.38.3. Примеры
F.39. pg_visibility
F.39.1. Функции
F.39.2. Автор
F.40. postgres_fdw
F.40.1. Параметры обёртки для postgres_fdw
F.40.2. Управление соединением
F.40.3. Управление транзакциями
F.40.4. Оптимизация удалённых запросов
F.40.5. Окружение удалённого выполнения запросов
F.40.6. Совместимость с разными версиями
F.40.7. Примеры
F.40.8. Автор
F.41. seg
F.41.1. Обоснование
F.41.2. Синтаксис
F.41.3. Точность
F.41.4. Использование
F.41.5. Замечания
F.41.6. Благодарности
F.42. sepgsql
F.42.1. Обзор
F.42.2. Установка
F.42.3. Регрессионные тесты
F.42.4. Параметры GUC
F.42.5. Функциональные возможности
F.42.6. Функции sepgsql
F.42.7. Ограничения
F.42.8. Внешние ресурсы
F.42.9. Автор
F.43. shared_ispell
F.43.1. Функции
F.43.2. Параметры GUC
F.43.3. Использование словаря
F.43.4. Автор
F.44. spi
F.44.1. refint — функции для реализации ссылочной целостности
F.44.2. timetravel — функции для реализации перемещений во времени
F.44.3. autoinc — функции для автоувеличения полей
F.44.4. insert_username — функции для отслеживания пользователя, вносящего изменения
F.44.5. moddatetime — функции для отслеживания времени последнего изменения
F.45. sr_plan
F.45.1. Обоснование
F.45.2. Установка
F.45.3. Использование
F.46. sslinfo
F.46.1. Предоставляемые функции
F.46.2. Автор
F.47. tablefunc
F.47.1. Предоставляемые функции
F.47.2. Автор
F.48. tcn
F.49. test_decoding
F.50. tsearch2
F.50.1. Вопросы переносимости
F.50.2. Преобразование инсталляции версии до 8.3
F.50.3. Ссылки
F.51. tsm_system_rows
F.51.1. Примеры
F.52. tsm_system_time
F.52.1. Примеры
F.53. unaccent
F.53.1. Конфигурирование
F.53.2. Использование
F.53.3. Функции
F.54. uuid-ossp
F.54.1. Функции uuid-ossp
F.54.2. Сборка uuid-ossp
F.54.3. Автор
F.55. xml2
F.55.1. Уведомление об актуальности
F.55.2. Описание функций
F.55.3. xpath_table
F.55.4. Функции XSLT
F.55.5. Автор

В этом и следующем приложении содержится информация о модулях, которые можно найти в каталоге contrib дистрибутива Postgres Pro. В их число входят средства портирования, утилиты анализа и подключаемые функции, не включённые в состав основной системы Postgres Pro, в основном потому что они адресованы ограниченной аудитории или находятся в экспериментальном состоянии, неподходящем для основного дерева кода. Однако это всё не умаляет их полезность.

В этом приложении описываются расширения и другие подключаемые серверные модули, включённые в contrib. В Приложении G описываются вспомогательные программы.

При сборке сервера из дистрибутивного исходного кода эти компоненты собираются, только если выбрана цель "world" (см. Шаг 2). Вы можете собрать и установить их отдельно, выполнив:

make
make 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. За дополнительными сведениями об обновлении расширении обратитесь к Разделу 36.15.

Однако некоторые из этих модулей не являются «расширениями» в этом смысле, а подключаются к серверу по-другому, например, через параметр конфигурации shared_preload_libraries. Подробнее об этом говорится в документации каждого модуля.