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

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

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

Оглавление

F.1. amcheck — инструменты для проверки согласованности таблиц и индексов
F.1.1. Функции
F.1.2. Опциональная проверка heapallindexed
F.1.3. Использование amcheck эффективно
F.1.4. Восстановление повреждений
F.2. auth_delay — пауза при неудачной аутентификации
F.2.1. Параметры конфигурации
F.2.2. Автор
F.3. auto_dump — расширение с хуком ProcessInterrupts
F.3.1. Обзор
F.3.2. Требования
F.3.3. Включение расширения
F.3.4. Конфигурация (GUCs)
F.3.5. Режимы срабатывания
F.3.6. Ручной запуск дампа (SQL-функции)
F.3.7. Что выгружается
F.3.8. Пример использования (из реальной нагрузки, похожей на 1С)
F.3.9. Настройка и рекомендации
F.3.10. Устранение неполадок
F.4. auto_explain — журналирование планов выполнения медленных запросов
F.4.1. Параметры конфигурации
F.4.2. Пример
F.4.3. Автор
F.5. basebackup_to_shell — пример "shell" модуль pg_basebackup
F.5.1. Параметры конфигурации
F.5.2. Автор
F.6. basic_archive — пример модуля архивации WAL
F.6.1. Параметры конфигурации
F.6.2. Примечания
F.6.3. Автор
F.7. bloom — метод доступа к индексу с использованием фильтра Блума
F.7.1. Параметры
F.7.2. Примеры
F.7.3. Интерфейс класса операторов
F.7.4. Ограничения
F.7.5. Авторы
F.8. btree_gin — GIN классы операторов с поведением B-tree
F.8.1. Пример использования
F.8.2. Авторы
F.9. btree_gist — Классы операторов GiST с поведением B-дерева
F.9.1. Пример использования
F.9.2. Авторы
F.10. citext — регистронезависимый строковый тип данных
F.10.1. Обоснование
F.10.2. Как использовать это
F.10.3. Поведение при сравнении строк
F.10.4. Ограничения
F.10.5. Автор
F.11. spi — возможности/примеры интерфейса программирования сервера
F.11.1. refint — Функции для реализации ссылочной целостности
F.11.2. autoinc — Функции для автоинкрементных полей
F.11.3. insert_username — Функции для отслеживания, кто изменил таблицу
F.11.4. moddatetime — Функции для отслеживания времени последнего изменения
F.12. credcheck — проверки имени пользователя/пароля в Tantor SE-1C
F.12.1. Обзор
F.12.2. Установка
F.12.3. Проверки
F.12.4. Примеры
F.12.5. Политика повторного использования паролей
F.12.6. Блокировка при неудачной аутентификации
F.12.7. Задержка аутентификации
F.12.8. Принудительная смена пароля
F.12.9. Предупреждение перед истечением срока действия пароля
F.12.10. Ограничения
F.13. cube — многомерный кубический тип данных
F.13.1. Синтаксис
F.13.2. Точность
F.13.3. Использование
F.13.4. По умолчанию
F.13.5. Примечания
F.13.6. Заслуги
F.14. dbcopies_decoding — механизм копирования базы данных и ускоритель обработки данных
F.14.1. Использование
F.15. dblink — подключение к другим базам данных PostgreSQL
dblink_connect — открывает постоянное соединение с удаленной базой данных
dblink_connect_u — открывает постоянное соединение с удаленной базой данных, небезопасно
dblink_disconnect — закрывает постоянное соединение с удаленной базой данных
dblink — выполняет запрос в удаленной базе данных
dblink_exec — выполняет команду в удаленной базе данных
dblink_open — открывает курсор в удаленной базе данных
dblink_fetch — возвращает строки из открытого курсора в удаленной базе данных
dblink_close — закрывает курсор в удаленной базе данных
dblink_get_connections — возвращает имена всех открытых именованных соединений dblink
dblink_error_message — получает последнее сообщение об ошибке на указанном соединении
dblink_send_query — отправляет асинхронный запрос на удаленную базу данных
dblink_is_busy — проверяет, занято ли соединение асинхронным запросом
dblink_get_notify — получение асинхронных уведомлений на соединении
dblink_get_result — получает асинхронный результат запроса
dblink_cancel_query — отменяет любой активный запрос на указанном соединении
dblink_get_pkey — возвращает позиции и имена полей первичного ключа отношения
dblink_build_sql_insert — создает оператор INSERT, используя локальный кортеж, заменяя значения полей первичного ключа альтернативными значениями, предоставленными пользователем
dblink_build_sql_delete — создает оператор DELETE, используя предоставленные значения для значений полей первичного ключа
dblink_build_sql_update — создает оператор UPDATE, используя локальный кортеж, заменяя значения полей первичного ключа на альтернативные значения, предоставленные пользователем
F.16. dict_int — пример словаря полнотекстового поиска для целых чисел
F.16.1. Конфигурация
F.16.2. Использование
F.17. dict_xsyn — пример синонимического словаря полнотекстового поиска
F.17.1. Конфигурация
F.17.2. Использование
F.18. earthdistance — вычисление ортодромических расстояний
F.18.1. Расстояния на основе кубов Земли
F.18.2. Расстояния на основе точек на Земле
F.19. fasttrun — функция для усечения временных таблиц без увеличения размера pg_class
F.19.1. Функция
F.19.2. Пример теста
F.20. file_fdw — доступ к файлам данных в файловой системе сервера
F.21. fulleq — оператор эквивалентности для совместимости с Microsoft SQL Server
F.21.1. Обзор
F.21.2. Оператор fulleq
F.22. fuzzystrmatch — определение сходства и расстояния между строками
F.22.1. Soundex
F.22.2. Дайч-Мокотофф Саундекс
F.22.3. Левенштейн
F.22.4. Метафон
F.22.5. Double Metaphone
F.23. hstore — hstore ключ/значение тип данных
F.23.1. hstore Внешнее представление
F.23.2. hstore Операторы и функции
F.23.3. Индексы
F.23.4. Примеры
F.23.5. Статистика
F.23.6. Совместимость
F.23.7. Преобразования
F.23.8. Авторы
F.24. HypoPG — поддержка гипотетических индексов
F.24.1. Обзор
F.24.2. Установка
F.24.3. Обновление расширения
F.24.4. Обновление расширения
F.24.5. Использование
F.25. intagg — агрегатор и перечислитель целых чисел
F.25.1. Функции
F.25.2. Примеры использования
F.26. intarray — работа с массивами целых чисел
F.26.1. intarray Функции и операторы
F.26.2. Поддержка индексов
F.26.3. Пример
F.26.4. Бенчмарк
F.26.5. Авторы
F.27. isn — типы данных для международных стандартных номеров (ISBN, EAN, UPC и т.д.)
F.27.1. Типы данных
F.27.2. Приведения
F.27.3. Функции и операторы
F.27.4. Параметры конфигурации
F.27.5. Примеры
F.27.6. Библиография
F.27.7. Автор
F.28. lo — управление большими объектами
F.28.1. Обоснование
F.28.2. Как использовать это
F.28.3. Ограничения
F.28.4. Автор
F.29. ltree — иерархический древовидный тип данных
F.29.1. Определения
F.29.2. Операторы и функции
F.29.3. Индексы
F.29.4. Пример
F.29.5. Преобразования
F.29.6. Авторы
F.30. mchar — дополнительные типы данных для совместимости с Microsoft SQL Server (MS SQL)
F.30.1. Обзор
F.30.2. Дополнительные типы
F.30.3. Функции MCHAR и MVARCHAR
F.31. online_analyze — сбор статистики сразу после INSERT/UPDATE/DELETE/SELECT
F.31.1. Обзор
F.31.2. Конфигурация
F.32. pageinspect — низкоуровневая проверка страниц базы данных
F.32.1. Общие функции
F.32.2. Функции кучи
F.32.3. Функции B-дерева
F.32.4. Функции BRIN
F.32.5. Функции GIN
F.32.6. Функции GiST
F.32.7. Функции хеширования
F.33. page_repair — восстановление отдельных страниц с использованием данных резервного сервера
F.33.1. Обзор
F.33.2. Установка
F.33.3. Использование
F.34. passwordcheck — проверка надежности пароля
F.34.1. Параметры конфигурации
F.35. pgAudit — подробное журналирование аудита сессий и/или объектов
F.35.1. Обзор
F.35.2. Почему pgAudit?
F.35.3. Рекомендации по использованию
F.35.4. Tantor SE-1C Совместимость версий
F.35.5. Настройки
F.35.6. Ведение журнала аудита сессии
F.35.7. Ведение журнала аудита объектов
F.35.8. Маркировка событий
F.35.9. Формат
F.35.10. Ограничения в использовании
F.36. pgauditlogtofile — расширение pgAudit для перенаправления строк аудита в отдельный файл
F.36.1. Обзор
F.36.2. Установка
F.36.3. Конфигурация
F.37. pg_buffercache — инспектировать состояние кеша буферов Tantor SE-1C
F.37.1. Представление pg_buffercache
F.37.2. Представление pg_buffercache_numa
F.37.3. Функция pg_buffercache_summary()
F.37.4. Функция pg_buffercache_usage_counts()
F.37.5. Функция pg_buffercache_evict()
F.37.6. Функция pg_buffercache_evict_relation()
F.37.7. Функция pg_buffercache_evict_all()
F.37.8. Пример вывода
F.37.9. Авторы
F.38. pg_cron — планировщик заданий на основе cron, работающий внутри базы данных
F.38.1. Обзор?
F.38.2. Как работает pg_cron
F.38.3. Синтаксис Cron
F.38.4. Управление и создание заданий
F.38.5. Настройка pg_cron
F.38.6. Мониторинг заданий
F.39. pgcrypto — криптографические функции
F.39.1. Общие функции хеширования
F.39.2. Функции хеширования паролей
F.39.3. Функции шифрования PGP
F.39.4. Функции сырого шифрования
F.39.5. Функции для генерации случайных данных
F.39.6. Опорные функции OpenSSL
F.39.7. Параметры конфигурации
F.39.8. Примечания
F.39.9. Автор
F.40. pg_csm — оценка сжимаемости таблиц и индексов с помощью CSM
F.40.1. Обзор
F.40.2. Подключение расширения
F.40.3. Быстрый старт
F.40.4. Настройка сжатого хранения
F.40.5. smgr_info
F.40.6. csm_compress_analysis
F.40.7. csm_overflow_fork_stat
F.40.8. csm_cache_stat
F.40.9. Примечания и ограничения
F.41. pg_freespacemap — исследовать карту свободного пространства
F.41.1. Функции
F.41.2. Пример вывода
F.41.3. Автор
F.42. pg_hint_plan — настройка планов SQL-запросов в SQL-комментариях
F.42.1. Обзор
F.42.2. Установка
F.42.3. Описание
F.42.4. Таблица подсказок
F.42.5. Подробности в подсказке
F.42.6. Ошибки
F.42.7. Функциональные ограничения
F.42.8. Список подсказок
F.43. pg_logicalinspect — проверка компонентов логического декодирования
F.43.1. Функции
F.43.2. Автор
F.44. pg_overexplain — вывод дополнительной информации через EXPLAIN
F.44.1. EXPLAIN (DEBUG)
F.44.2. EXPLAIN (RANGE_TABLE)
F.44.3. Автор
F.45. pg_prewarm — предварительная загрузка данных отношения в буферные кеши
F.45.1. Функции
F.45.2. Параметры конфигурации
F.45.3. Автор
F.46. pg_query_id — управление аспектами вычисления идентификатора запроса
F.46.1. Обзор
F.46.2. Начало работы
F.46.3. Функциональность
F.46.4. Известные проблемы
F.47. pg_repack — удаляет фрагментацию из таблиц и индексов
F.47.1. Обзор
F.47.2. Требования
F.47.3. Установка
F.47.4. Использование
F.47.5. Окружение
F.47.6. Примеры
F.47.7. Диагностика
F.47.8. Ограничения
F.47.9. Подробнее
F.48. pgrowlocks — показать информацию о блокировке строк таблицы
F.48.1. Обзор
F.48.2. Пример вывода
F.48.3. Автор
F.49. pg_sample_profile — профилирование активности базы данных на основе выборки
F.49.1. Обзор
F.49.2. Использование
F.50. pg_stat_advisor — советник Tantor SE-1C для создания расширенной статистики
F.50.1. Обзор
F.50.2. Ограничения
F.50.3. Установка
F.50.4. Использование
F.50.5. Примеры
F.51. pg_stat_kcache — статистика о реальных операциях чтения и записи
F.51.1. Обзор
F.51.2. Установка
F.51.3. Конфигурация
F.51.4. Использование
F.51.5. Обновление расширения
F.51.6. Ошибки и ограничения
F.52. pg_stat_statements — отслеживание статистики планирования и выполнения SQL
F.52.1. Представление pg_stat_statements
F.52.2. Представление pg_stat_statements_info
F.52.3. Функции
F.52.4. Параметры конфигурации
F.52.5. Пример вывода
F.52.6. Авторы
F.53. pgstattuple — получить статистику на уровне кортежей
F.53.1. Функции
F.53.2. Авторы
F.54. pg_store_plans — средство для отслеживания статистики планов выполнения всех SQL-выражений
F.54.1. Обзор
F.54.2. Представление pg_store_plans
F.54.3. Представление pg_store_plans
F.54.4. Функции
F.54.5. Параметры конфигурации
F.54.6. Обсуждение настройки plan_storage
F.54.7. Пример вывода
F.55. pg_surgery — выполнять низкоуровневые операции с данными отношений
F.55.1. Функции
F.55.2. Авторы
F.56. pg_trace — Отслеживание запросов в реальном времени с фильтрацией для Tantor SE-1C
F.56.1. Обзор
F.56.2. Начало работы
F.56.3. Функциональность
F.56.4. Клиент-серверный протокол
F.56.5. Конфигурация
F.56.6. Как это работает
F.56.7. Известные проблемы
F.57. pg_trgm — поддержка сходства текста с использованием триграммного сопоставления
F.57.1. Концепции триграмм (или триграфов)
F.57.2. Функции и операторы
F.57.3. Параметры GUC
F.57.4. Поддержка индексов
F.57.5. Интеграция полнотекстового поиска
F.57.6. Ссылки
F.57.7. Авторы
F.58. pg_visibility — информация и утилиты карты видимости
F.58.1. Функции
F.58.2. Автор
F.59. pg_wait_sampling — статистика событий ожидания на основе выборочного анализа
F.59.1. Обзор
F.59.2. Установка
F.59.3. Использование
F.60. pg_walinspect — низкоуровневая проверка WAL
F.60.1. Общие функции
F.60.2. Автор
F.61. plantuner — подсказки планировщику
F.61.1. Обзор
F.61.2. Мотивация
F.61.3. Синтаксис
F.61.4. Использование
F.62. postgres_fdw — доступ к данным, хранящимся на внешних серверах Tantor SE-1C
F.62.1. FDW Опции postgres_fdw
F.62.2. Функции
F.62.3. Управление соединением
F.62.4. Управление транзакциями
F.62.5. Оптимизация удаленного запроса
F.62.6. Удаленная среда выполнения запросов
F.62.7. Совместимость между версиями
F.62.8. События ожидания
F.62.9. Параметры конфигурации
F.62.10. Примеры
F.62.11. Автор
F.63. seg — тип данных для отрезков или интервалов с плавающей запятой
F.63.1. Обоснование
F.63.2. Синтаксис
F.63.3. Точность
F.63.4. Использование
F.63.5. Примечания
F.63.6. Заслуги
F.64. sepgsql — SELinux-, метка-основанный модуль безопасности с обязательным контролем доступа (MAC)
F.64.1. Обзор
F.64.2. Установка
F.64.3. Тесты регрессии
F.64.4. Параметры GUC
F.64.5. Особенности
F.64.6. Функции Sepgsql
F.64.7. Ограничения
F.64.8. Внешние ресурсы
F.64.9. Автор
F.65. sslinfo — получить информацию о клиенте SSL
F.65.1. Предоставляемые функции
F.65.2. Автор
F.66. tablefunc — функции, которые возвращают таблицы (crosstab и другие)
F.66.1. Предоставляемые функции
F.66.2. Автор
F.67. tcn — триггерная функция для уведомления слушателей об изменениях в содержимом таблицы
F.68. test_decoding — SQL-основанный тестовый/примерный модуль для логического декодирования WAL
F.69. transp_anon — маскирует или заменяет персонально идентифицируемую информацию или коммерчески чувствительные данные
F.69.1. Обзор
F.69.2. Определения терминов, используемых в этом проекте
F.69.3. Анонимизация и маскирование данных для Tantor SE-1C
F.69.4. Требование к запуску сервера
F.69.5. Конфигурация
F.69.6. Объявить правила маскировки
F.69.7. Функции маскирования
F.69.8. Динамическое маскирование
F.69.9. Обобщение
F.69.10. Пользовательские поддельные данные
F.69.11. Производительность
F.69.12. Безопасность
F.69.13. Примеры
F.70. tsm_system_rows — метод выборки SYSTEM_ROWS для TABLESAMPLE
F.70.1. Примеры
F.71. tsm_system_time — метод выборки SYSTEM_TIME для TABLESAMPLE
F.71.1. Примеры
F.72. unaccent — словарь полнотекстового поиска, который удаляет диакритические знаки
F.72.1. Конфигурация
F.72.2. Использование
F.72.3. Функции
F.73. uuid-ossp — генератор UUID
F.73.1. uuid-ossp Функции
F.73.2. Сборка uuid-ossp
F.73.3. Автор
F.74. xml2 — XPath-запросы и функциональность XSLT
F.74.1. Уведомление об устаревании
F.74.2. Описание функций
F.74.3. xpath_table
F.74.4. Функции XSLT
F.74.5. Автор

Это приложение и следующее содержат информацию о дополнительных компонентах, находящихся в каталоге contrib в дистрибутиве Tantor SE-1C. Они включают инструменты для портирования, утилиты для анализа, и подключаемые функции, которые не являются частью основной системы PostgreSQL. Они отделены главным образом потому, что предназначены для ограниченной аудитории или слишком экспериментальны, чтобы быть частью основного исходного кода. Это не умаляет их полезности.

Это приложение охватывает расширения и другие серверные библиотеки модулей плагинов, найденные в contrib. Приложение G охватывает утилиты программы.

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

CREATE EXTENSION extension_name;

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

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

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

btree_ginfuzzystrmatchltreetcn
btree_gisthstorepgcryptotsm_system_rows
citextintarraypg_trgmtsm_system_time
cubeisnsegunaccent
dict_intlotablefuncuuid-ossp

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

Note, однако, что некоторые из этих компонентов не являются расширениями в этом смысле, но загружаются в сервер другим способом, например, с помощью shared_preload_libraries. См. документацию каждого компонента для подробностей.