Перейти к основному содержимому

Дополнительно поставляемые модули

примечание

Эта страница переведена при помощи нейросети 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. См. документацию каждого модуля для получения подробной информации.