Приложение F. Дополнительные модули и расширения, поставляемые в postgrespro-ent-18-contrib
Содержание
- F.1. amcheck — модуль с инструментами, проверяющими целостность таблиц и индексов
- F.2. aqo — оптимизация запросов по стоимости выполнения
- F.3. auth_delay — задержка при ошибке аутентификации
- F.4. auto_dump — сбор данных по проблемным запросам и их воспроизведение
- F.5. auto_explain — протоколирование планов выполнения медленных запросов
- F.6. basebackup_to_shell — пример создания получателей резервной копии для модуля pg_basebackup
- F.7. basic_archive — пример модуля архивирования WAL
- F.8. biha — встроенный отказоустойчивый кластер
- F.9. bloom — индексный метод доступа, основанный на фильтрах Блума
- F.10. btree_gin — классы операторов GIN с поведением B-дерева
- F.11. btree_gist — классы операторов GiST с поведением B-дерева
- F.12. citext — тип данных для строк, нечувствительных к регистру
- F.13. cube — тип данных для представления многомерных кубов
- F.14. daterange_inclusive —
daterange, включающий верхнюю границу диапазона- F.15. dbcopies_decoding — модуль 1С для обновления копий баз данных
- F.16. dblink — подключение к другим базам данных Postgres Pro
- F.17. dbms_lob — работа с большими объектами
- F.18. dict_int — пример словаря текстового поиска для целых чисел
- F.19. dict_xsyn — пример словаря текстового поиска синонимов
- F.20. dump_stat — функции выгрузки и восстановления содержимого таблицы
pg_statistic- F.21. earthdistance — вычисление расстояний между точками на Земле
- F.22. fasttrun — транзакционно-небезопасная функция для усечения временных таблиц
- F.23. file_fdw — обращение к файлам данных в файловой системе сервера
- F.24. fulleq — дополнительный оператор равенства для совместимости с Microsoft SQL Server
- F.25. fuzzystrmatch — вычисление схожести и расстояния между строками
- F.26. hstore — тип данных
hstoreдля хранения пар ключ-значение- F.27. Модули словарей Hunspell
- F.28. in_memory — размещение данных в общей памяти с использованием таблиц, реализованных через обёртку сторонних данных
- F.29. intagg — агрегатор и нумератор целых чисел
- F.30. intarray — работа с массивами целых чисел
- F.31. isn — типы данных для международных стандартов нумерации (ISBN, EAN, UPC и т. д.)
- F.32. jsquery — язык запросов к типу данных
jsonb- F.33. lo — управление большими объектами
- F.34. ltree — тип данных для представления меток данных в иерархической древовидной структуре
- F.35. mchar — дополнительные типы данных для совместимости с Microsoft SQL Server
- F.36. multimaster — синхронный кластер, который обеспечивает масштабируемость OLTP и высокую степень доступности
- F.37. online_analyze — обновление статистики после операций
INSERT,UPDATE,DELETE,SELECT INTOилиCOPY.- F.38. pageinspect — низкоуровневое исследование страниц баз данных
- F.39. passwordcheck — проверка надёжности пароля
- F.40. pg_buffercache — информация о состоянии буферного кеша Postgres Pro
- F.41. pgcrypto — функции защитного преобразования
- F.42. pg_freespacemap — просмотр карты свободного пространства
- F.43. pgpro_application_info — перенос приложений, использующих пакет
DBMS_APPLICATION_INFO- F.44. pgpro_bfile — составной тип для доступа к внешнему файлу
- F.45. pg_proaudit — регистрация различных событий, связанных с безопасностью
- F.46. pgpro_autopart — динамическое создание секций
- F.47. pg_logicalinspect — проверка компонентов логического декодирования
- F.48. pg_overexplain — выгрузка дополнительной информации через команду EXPLAIN
- F.49. pgpro_bindump — модуль протокола репликации для резервного копирования и восстановления
- F.50. pgpro_cpumeter — системная функция мониторинга использования процессора
- F.51. pg_prewarm — предварительная загрузка данных отношений в кеш буферов
- F.52. pgpro_gbtree — глобальные индексы для секционированных таблиц
- F.53. pgpro_iheap — табличный метод доступа с интегрированным индексом BRIN
- F.54. pgpro_ilm — позволяет перемещать редко используемые отношения в более дешёвое хранилище
- F.55. pgpro_queue — управление очередями сообщений
- F.56. pgpro_rp — приоритизация ресурсов
- F.57. pgpro_scheduler — планирование, контроль и управление выполнением заданий
- F.58. pgpro_sfile — хранилище больших объектов
- F.59. pgpro_usage — статистика отношений и функций в разрезе пользователей
- F.60. pg_query_state — модуль для проверки текущего состояния выполнения запросов в работающем обслуживающем процессе
- F.61. pgrowlocks — отображение информации о блокировке строк таблицы
- F.62. pg_stat_statements — отслеживание статистики планирования и выполнения SQL-операторов
- F.63. pgstattuple — получение статистики на уровне кортежей
- F.64. pg_surgery — проведение операций низкого уровня с данными отношений
- F.65. pg_transfer — быстрое перемещение таблиц между экземплярами
- F.66. pg_trgm — поддержка определения схожести текста на основе триграмм
- F.67. pg_trgm_mchar — поиск схожих строк типов
mcharиmvarcharна основе триграмм- F.68. pg_variables — функции для работы с переменными различных типов
- F.69. pg_visibility — информация из карты видимости и вспомогательные функции
- F.70. pg_wait_sampling — периодический сбор статистики по событиям ожидания
- F.71. pg_walinspect — просмотр журнала предзаписи на низком уровне
- F.72. plantuner — поддержка указаний для планировщика, позволяющих отключать или подключать индексы при выполнении запроса
- F.73. postgres_fdw — обращение к данным, находящимся на внешних серверах Postgres Pro
- F.74. proxima — комбинация прокси, балансировщика нагрузки, пула соединений и кеша данных в оперативной памяти
- F.75. ptrack — механизм резервного копирования базы Postgres Pro на уровне блоков
- F.76. referee — управление кворумом в кластере с чётным числом узлов, реализованном с использованием multimaster
- F.77. rum — метод доступа для работы с индексами RUM
- F.78. seg — тип данных для отрезков или интервалов чисел с плавающей точкой
- F.79. spi — особенности/примеры использования интерфейса программирования сервера
- F.80. sslinfo — получение информации об SSL-сертификате клиента
- F.81. tablefunc — функции, возвращающие таблицы (
crosstabи не только)- F.82. tcn — триггерная функция, сообщающая приёмникам уведомлений об изменениях в содержимом таблицы
- F.83. test_decoding — пример модуля на базе SQL для логического декодирования WAL
- F.84. tsm_system_rows — метод извлечения выборки
SYSTEM_ROWSдляTABLESAMPLE- F.85. tsm_system_time — метод извлечения выборки
SYSTEM_TIMEдляTABLESAMPLE- F.86. unaccent — словарь текстового поиска, который убирает диакритические знаки
- F.87. uuid-ossp — генератор UUID
- F.88. xml2 — функции для выполнения запросов XPath и преобразований XSLT
- F.2. aqo — оптимизация запросов по стоимости выполнения
В этом приложении, Приложении G, Приложении H и Приложении I содержится информация о необязательных компонентах, поставляемых в составе дистрибутива Postgres Pro Enterprise. В их число входят средства портирования, утилиты анализа и подключаемые функции, не включённые в состав основной системы Postgres Pro. Они отделены в основном потому, что адресованы ограниченной аудитории или находятся в экспериментальном состоянии, не подходящем для основного дерева кода. Однако это всё не умаляет их полезность.
В этом приложении, Приложении G и Приложении H описываются расширения и другие подключаемые серверные модули. В Приложении I описываются вспомогательные программы.
Многие компоненты предоставляют дополнительные пользовательские функции, операторы и типы, упакованные в расширения. Чтобы использовать одно из таких расширений, когда его исполняемый код установлен, необходимо зарегистрировать новые объекты SQL в СУБД. Для этого нужно воспользоваться командой CREATE EXTENSION. В чистой базе данных можно просто выполнить:
CREATE EXTENSION имя_расширения; При этом новые объекты SQL будут зарегистрированы только в текущей базе данных, так что эту команду нужно выполнять в каждой базе данных, в которой планируется использовать функциональность этого расширения. Также можно запустить его в базе данных template1, чтобы установленное расширение копировалось во все впоследствии создаваемые базы по умолчанию.
Для всех этих расширений команду CREATE EXTENSION должен выполнять суперпользователь, если только расширение не помечено как «доверенное». Доверенные расширения могут устанавливать любые пользователи, имеющие право CREATE в текущей базе данных. В следующих разделах, где описываются расширения, отмечено, какие из них являются доверенными. Вообще говоря, доверенными расширениями считаются те, которые не предоставляют доступ к функциональности за рамками базы данных.
Следующие расширения являются доверенными при установке по умолчанию:
| btree_gin | fuzzystrmatch | ltree | tcn |
| btree_gist | hstore | pgcrypto | tsm_system_rows |
| citext | intarray | pg_trgm | tsm_system_time |
| cube | isn | seg | unaccent |
| dict_int | lo | tablefunc | uuid-ossp |
Многие расширения позволяют устанавливать свои объекты в схему по выбору. Для этого нужно добавить SCHEMA в команду имя_схемыCREATE EXTENSION. По умолчанию объекты устанавливаются в текущую схему для создаваемых объектов, которой по умолчанию становится public.
Однако некоторые из этих компонентов не являются «расширениями» в этом смысле, а подключаются к серверу по-другому, например, через параметр конфигурации shared_preload_libraries. Подробнее об этом говорится в документации каждого компонента.
В этом приложении содержится информация о модулях и расширениях, которые доступны в Postgres Pro Enterprise как отдельные подпакеты postgrespro-ent-18-contrib. Обратите внимание, что расширение toastapi для добавления пользовательских реализаций TOAST также доступно в postgrespro-ent-18-contrib (за подробной информацией обратитесь к Подразделу 68.2.3).
Appendix F. Additional Supplied Modules and Extensions Shipped in postgrespro-ent-18-contrib
Table of Contents
- F.1. amcheck — tools to verify table and index consistency
- F.2. aqo — cost-based query optimization
- F.3. auth_delay — pause on authentication failure
- F.4. auto_dump — get data and reproduce problematic queries
- F.5. auto_explain — log execution plans of slow queries
- F.6. basebackup_to_shell — example "shell" pg_basebackup module
- F.7. basic_archive — an example WAL archive module
- F.8. biha — built-in high-availability cluster
- F.9. bloom — bloom filter index access method
- F.10. btree_gin — GIN operator classes with B-tree behavior
- F.11. btree_gist — GiST operator classes with B-tree behavior
- F.12. citext — a case-insensitive character string type
- F.13. cube — a multi-dimensional cube data type
- F.14. daterange_inclusive — upper bound-inclusive
daterange- F.15. dbcopies_decoding — 1C module for updating database copies
- F.16. dblink — connect to other Postgres Pro databases
- F.17. dbms_lob — operate on large objects
- F.18. dict_int — example full-text search dictionary for integers
- F.19. dict_xsyn — example synonym full-text search dictionary
- F.20. dump_stat — functions to backup and recover the
pg_statistictable- F.21. earthdistance — calculate great-circle distances
- F.22. fasttrun — a transaction unsafe function to truncate temporary tables
- F.23. file_fdw — access data files in the server's file system
- F.24. fulleq — an additional equivalence operator for compatibility with Microsoft SQL Server
- F.25. fuzzystrmatch — determine string similarities and distance
- F.26. hstore — hstore key/value datatype
- F.27. Hunspell Dictionaries Modules
- F.28. in_memory — store data in shared memory using tables implemented via FDW
- F.29. intagg — integer aggregator and enumerator
- F.30. intarray — manipulate arrays of integers
- F.31. isn — data types for international standard numbers (ISBN, EAN, UPC, etc.)
- F.32. jsquery — a language to query
jsonbdata type- F.33. lo — manage large objects
- F.34. ltree — hierarchical tree-like data type
- F.35. mchar — additional data types for compatibility with Microsoft SQL Server
- F.36. multimaster — synchronous cluster to provide OLTP scalability and high availability
- F.37. online_analyze — update statistics after
INSERT,UPDATE,DELETE,SELECT INTO, orCOPYoperations- F.38. pageinspect — low-level inspection of database pages
- F.39. passwordcheck — verify password strength
- F.40. pg_buffercache — inspect Postgres Pro buffer cache state
- F.41. pgcrypto — cryptographic functions
- F.42. pg_freespacemap — examine the free space map
- F.43. pgpro_application_info — port applications using
DBMS_APPLICATION_INFOpackage- F.44. pgpro_bfile — a composite type to access an external file
- F.45. pg_proaudit — enables detailed logging of various security events
- F.46. pgpro_autopart — dynamic partition creation
- F.47. pg_logicalinspect — logical decoding components inspection
- F.48. pg_overexplain — allow EXPLAIN to dump even more details
- F.49. pgpro_bindump — a replication protocol module for backup and restore
- F.50. pgpro_cpumeter — a CPU usage monitoring system function
- F.51. pg_prewarm — preload relation data into buffer caches
- F.52. pgpro_gbtree — global index on a partitioned table
- F.53. pgpro_iheap — a table access method with an integrated BRIN index
- F.54. pgpro_ilm — enables moving rarely used relations to a lower-cost storage
- F.55. pgpro_queue — message queueing management
- F.56. pgpro_rp — resource prioritization
- F.57. pgpro_scheduler — scheduling, monitoring and managing job execution
- F.58. pgpro_sfile — storage for large objects
- F.59. pgpro_usage — per-user statistics on relations and functions
- F.60. pg_query_state — a module for checking the current state of query execution in a working backend process
- F.61. pgrowlocks — show a table's row locking information
- F.62. pg_stat_statements — track statistics of SQL planning and execution
- F.63. pgstattuple — obtain tuple-level statistics
- F.64. pg_surgery — perform low-level surgery on relation data
- F.65. pg_transfer — quick transfer of tables between instances
- F.66. pg_trgm — support for similarity of text using trigram matching
- F.67. pg_trgm_mchar — trigram-based search for similar
mcharandmvarcharstrings- F.68. pg_variables — functions for working with variables of various types
- F.69. pg_visibility — visibility map information and utilities
- F.70. pg_wait_sampling — collecting sampling-based statistics on wait events
- F.71. pg_walinspect — low-level WAL inspection
- F.72. plantuner — hints for the planner to disable or enable indexes for query execution
- F.73. postgres_fdw — access data stored in external Postgres Pro servers
- F.74. proxima — a combination of a proxy, a load balancer, a connection pooler, and an in-memory data cache
- F.75. ptrack — a block-level incremental backup engine for Postgres Pro
- F.76. referee — manage quorum settings with an even number of nodes configured with multimaster
- F.77. rum — an access method to work with the RUM indexes
- F.78. seg — a datatype for line segments or floating point intervals
- F.79. spi — Server Programming Interface features/examples
- F.80. sslinfo — obtain client SSL information
- F.81. tablefunc — functions that return tables (
crosstaband others)- F.82. tcn — a trigger function to notify listeners of changes to table content
- F.83. test_decoding — SQL-based test/example module for WAL logical decoding
- F.84. tsm_system_rows — the
SYSTEM_ROWSsampling method forTABLESAMPLE- F.85. tsm_system_time — the
SYSTEM_TIMEsampling method forTABLESAMPLE- F.86. unaccent — a text search dictionary which removes diacritics
- F.87. uuid-ossp — a UUID generator
- F.88. xml2 — XPath querying and XSLT functionality
- F.2. aqo — cost-based query optimization
This appendix, Appendix G, Appendix H, and Appendix I contain information on the optional components available in the Postgres Pro Enterprise distribution. These include porting tools, analysis utilities, and plug-in features that are not part of the core Postgres Pro system. They are separate mainly because they address a limited audience or are too experimental to be part of the main source tree. This does not preclude their usefulness.
This appendix, Appendix G, Appendix H cover the extensions and other server plug-in modules. Appendix I covers the utility programs.
Many components supply new user-defined functions, operators, or types, packaged as extensions. To make use of one of these extensions, after you have installed the code you need to register the new SQL objects in the database system. This is done by executing a CREATE EXTENSION command. In a fresh database, you can simply do
CREATE EXTENSION extension_name;
This command registers the new SQL objects in the current database only, so you need to run it in every database in which you want the extension's facilities to be available. Alternatively, run it in database template1 so that the extension will be copied into subsequently-created databases by default.
For all extensions, the CREATE EXTENSION command must be run by a database superuser, unless the extension is considered “trusted”. Trusted extensions can be run by any user who has CREATE privilege on the current database. Extensions that are trusted are identified as such in the sections that follow. Generally, trusted extensions are ones that cannot provide access to outside-the-database functionality.
The following extensions are trusted in a default installation:
| btree_gin | fuzzystrmatch | ltree | tcn |
| btree_gist | hstore | pgcrypto | tsm_system_rows |
| citext | intarray | pg_trgm | tsm_system_time |
| cube | isn | seg | unaccent |
| dict_int | lo | tablefunc | uuid-ossp |
Many extensions allow you to install their objects in a schema of your choice. To do that, add SCHEMA to the schema_nameCREATE EXTENSION command. By default, the objects will be placed in your current creation target schema, which in turn defaults to public.
Note, however, that some of these components are not “extensions” in this sense, but are loaded into the server in some other way, for instance by way of shared_preload_libraries. See the documentation of each component for details.
This appendix contains modules and extensions that are made available in Postgres Pro Enterprise as a separate subpackage postgrespro-ent-18-contrib. Note that the toastapi extension to add custom TOASTers is also available in postgrespro-ent-18-contrib (see Section 68.2.3 for details).