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

Содержание

F.1. adminpack — набор инструментов поддержки pgAdmin
F.2. amcheck — модуль с инструментами, проверяющими целостность таблиц и индексов
F.3. aqo — оптимизация запросов по стоимости выполнения
F.4. auth_delay — задержка при ошибке аутентификации
F.5. auto_explain — протоколирование планов выполнения медленных запросов
F.6. basebackup_to_shell — пример создания получателей резервной копии для модуля pg_basebackup
F.7. basic_archive — пример модуля архивирования WAL
F.8. bloom — индексный метод доступа, основанный на фильтрах Блума
F.9. btree_gin — классы операторов GIN с поведением B-дерева
F.10. btree_gist — классы операторов GiST с поведением B-дерева
F.11. citext — тип данных для строк, нечувствительных к регистру
F.12. cube — тип данных для представления многомерных кубов
F.13. dblink — подключение к другим базам данных Postgres Pro
F.14. dict_int — пример словаря текстового поиска для целых чисел
F.15. dict_xsyn — пример словаря текстового поиска синонимов
F.16. dump_stat — функции выгрузки и восстановления содержимого таблицы pg_statistic
F.17. earthdistance — вычисление расстояний между точками на Земле
F.18. fasttrun — транзакционно-небезопасная функция для усечения временных таблиц
F.19. file_fdw — обращение к файлам данных в файловой системе сервера
F.20. fulleq — дополнительный оператор равенства для совместимости с Microsoft SQL Server
F.21. fuzzystrmatch — вычисление схожести и расстояния между строками
F.22. hstore — тип данных hstore для хранения пар ключ-значение
F.23. Модули словарей Hunspell
F.24. intagg — агрегатор и нумератор целых чисел
F.25. intarray — работа с массивами целых чисел
F.26. isn — типы данных для международных стандартов нумерации (ISBN, EAN, UPC и т. д.)
F.27. jsquery — язык запросов к типу данных jsonb
F.28. lo — управление большими объектами
F.29. ltree — тип данных для представления меток данных в иерархической древовидной структуре
F.30. mchar — дополнительные типы данных для совместимости с Microsoft SQL Server
F.31. online_analyze — обновление статистики после операций INSERT, UPDATE, DELETE или SELECT INTO
F.32. old_snapshot — чтение информации, используемой в реализации old_snapshot_threshold
F.33. pageinspect — низкоуровневое исследование страниц баз данных
F.34. passwordcheck — проверка надёжности пароля
F.35. pg_buffercache — информация о состоянии буферного кеша Postgres Pro
F.36. pgcrypto — криптографические функции
F.37. pg_freespacemap — просмотр карты свободного пространства
F.38. pg_pathman — оптимизированное решение для секционирования больших и распределённых баз данных
F.39. pg_proaudit — регистрация различных событий, связанных с безопасностью
F.40. pgpro_pwr — отчёты о нагрузке
F.41. pg_prewarm — предварительная загрузка данных отношений в кеш буферов
F.42. pgpro_stats — сбор статистики планирования и выполнения всех обрабатываемых сервером SQL-операторов
F.43. pg_query_state — возможность узнавать текущее состояние выполнения запросов в работающем обслуживающем процессе
F.44. pgrowlocks — отображение информации о блокировке строк таблицы
F.45. pg_stat_statements — отслеживание статистики планирования и выполнения SQL-операторов
F.46. pgstattuple — получение статистики на уровне кортежей
F.47. pg_surgery — проведение операций низкого уровня с данными отношений
F.48. pg_trgm — поддержка определения схожести текста на основе триграмм
F.49. pg_tsparser — текстовый поиск
F.50. pg_variables — функции для работы с переменными различных типов
F.51. pg_visibility — информация из карты видимости и вспомогательные функции
F.52. pg_wait_sampling — периодический сбор статистики по событиям ожидания
F.53. pg_walinspect — просмотр журнала предзаписи на низком уровне
F.54. plantuner — поддержка указаний для планировщика, позволяющих отключать или подключать индексы при выполнении запроса
F.55. postgres_fdw — обращение к данным, находящимся на внешних серверах Postgres Pro
F.56. ptrack — механизм резервного копирования базы Postgres Pro на уровне блоков
F.57. rum — метод доступа RUM для работы с индексами
F.58. seg — тип данных для отрезков или интервалов чисел с плавающей точкой
F.59. sepgsql — проверка безопасности на базе политик SELinux для мандатного управления доступом (MAC, Mandatory Access Control) с метками
F.60. shared_ispell — разделяемый словарь ispell
F.61. spi — особенности/примеры использования интерфейса программирования сервера
F.62. sslinfo — получение информации об SSL-сертификате клиента
F.63. tablefunc — функции, возвращающие таблицы (crosstab и не только)
F.64. tcn — триггерная функция, сообщающая приёмникам уведомлений об изменениях в содержимом таблицы
F.65. test_decoding — пример модуля на базе SQL для логического декодирования WAL
F.66. tsm_system_rows — метод извлечения выборки SYSTEM_ROWS для TABLESAMPLE
F.67. tsm_system_time — метод извлечения выборки SYSTEM_TIME для TABLESAMPLE
F.68. unaccent — словарь текстового поиска, который убирает диакритические знаки
F.69. uuid-ossp — генератор UUID
F.70. xml2 — функции для выполнения запросов XPath и преобразований XSLT

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

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

В Postgres Pro Standard эти модули представлены в виде отдельного пакета postgrespro-std-16-contrib.

Многие компоненты предоставляют дополнительные пользовательские функции, операторы и типы, упакованные в расширения. Чтобы использовать одно из таких расширений, когда его исполняемый код установлен, необходимо зарегистрировать новые объекты SQL в СУБД. Для этого нужно воспользоваться командой CREATE EXTENSION. В чистой базе данных можно просто выполнить:

CREATE EXTENSION имя_расширения;

При этом новые объекты SQL будут зарегистрированы только в текущей базе данных, так что эту команду нужно выполнять в каждой базе данных, в которой планируется использовать функциональность этого расширения. Также можно запустить его в базе данных template1, чтобы установленное расширение копировалось во все впоследствии создаваемые базы по умолчанию.

Для всех этих расширений команду CREATE EXTENSION должен выполнять суперпользователь, если только расширение не помечено как «доверенное». Доверенные расширения могут устанавливать любые пользователи, имеющие право CREATE в текущей базе данных. В следующих разделах, где описываются расширения, отмечено, какие из них являются доверенными. Вообще говоря, доверенными расширениями считаются те, которые не предоставляют доступ к функциональности за рамками базы данных.

Следующие расширения являются доверенными при установке по умолчанию:

btree_ginfuzzystrmatchltreetcn
btree_gisthstorepgcryptotsm_system_rows
citextintarraypg_trgmtsm_system_time
cubeisnsegunaccent
dict_intlotablefuncuuid-ossp

Многие расширения позволяют устанавливать свои объекты в схему по выбору. Для этого нужно добавить SCHEMA имя_схемы в команду CREATE EXTENSION. По умолчанию объекты устанавливаются в текущую схему для создаваемых объектов, которой по умолчанию становится public.

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