Дополнительно поставляемые модули
Эта страница переведена при помощи нейросети GigaChat.
Это и следующее приложения содержат информацию о модулях, которые можно найти в каталоге contrib
дистрибутива PostgreSQL. В них входят инструменты переноса, утилиты анализа и подключаемые функции, которые не являются частью основной системы PostgreSQL, главным образом потому, что они ориентированы на ограниченную аудиторию или слишком экспериментальны для включения в основное дерево исходников. Это не исключает их полезности.
В этом приложении рассматриваются расширения и другие серверные модули, найденные в contrib
. Раздел «Дополнительно поставляемые программы» охватывает служебные программы.
При сборке из исходного кода эти компоненты собираются, только если выбрана цель «world». Можно собрать и установить их все, запустив в каталоге contrib
настроенного дерева источников:
make
make install
Или чтобы собрать и установить только один выбранный модуль, сделайте то же самое в подкаталоге этого модуля. У многих модулей есть регрессионные тесты, которые можно выполнить, запустив:
make check
перед установкой или
make installcheck
когда запущен сервер PostgreSQL.
Если используется предварительно упакованная версию PostgreSQL, эти модули обычно доступны в виде отдельного подпакета, такого как postgresql-contrib
.
Многие модули поставляются с новыми пользовательскими функциями, операторами или типами. Чтобы воспользоваться одним из этих модулей, после установки кода необходимо зарегистрировать новые объекты SQL в системе базы данных. Это делается с помощью выполнения команды CREATE EXTENSION. В чистой базе данных можно просто выполнить:
CREATE EXTENSION module_name;
Эта команда регистрирует новые объекты SQL только в текущей базе данных, поэтому нужно запустить ее в каждой базе данных, где требуется, чтобы были доступны возможности модуля. В качестве альтернативы, выполните ее в базе данных template1
, чтобы расширение по умолчанию копировалось во вновь созданные базы данных.
Для всех этих модулей CREATE EXTENSION
должен запускаться суперпользователем базы данных, если только модуль не считается «доверенным», в этом случае его может запустить любой пользователь, имеющий привилегию CREATE
для текущей базы данных. Модули, которые считаются доверенными, идентифицируются как таковые в следующих разделах. В общем, доверенные модули – это те, которые не могут предоставить доступ к функциональности вне базы данных.
Многие модули позволяют устанавливать их объекты в схеме по выбору. Для этого добавьте SCHEMA schema_name
к команде CREATE EXTENSION
. По умолчанию объекты будут размещены в текущей целевой схеме создания, которая, в свою очередь, по умолчанию равна public
.
Обратите внимание, однако, что некоторые из этих модулей не являются «расширениями» в этом смысле, но загружаются на сервер каким-то другим способом, например, через shared_preload_libraries
. См. документацию каждого модуля для получения подробной информации.