Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Расширения и модули в PostgreSQL — это мощные средства, которые можно использовать для расширения функциональности системы базы данных. Они варьируются от простых объектов SQL до сложных двоичных библиотек, а также предоставляют дополнительные функции и возможности, недоступные в основном дистрибутиве PostgreSQL.
Расширения
Чтобы определить расширение, вам потребуется по крайней мере один файл скрипта , содержащий команды SQL, чтобы создать объекты, распределенные расширением, и один файл управления , указывающий основные свойства самого расширения.
При создании, установке или загрузке расширений в базе данных они развертывают набор объектов пакета, которые стремятся расширить функциональные возможности подсистемы. Эти объекты могут быть функциями, операторами, ролями, типами данных, методами доступа и другими типами объектов базы данных.
Когда вы удаляете, деинсталлируете или выгружаете расширения из базы данных, процесс удаляет все объекты, созданные этими расширениями. Исключение из этого случая заключается в наличии других объектов в базе данных с зависимостями от любого из объектов, определенных расширением.
Вы можете написать реализацию функциональных возможностей, предоставляемых этими объектами, распределенными расширением в SQL или PL/pgSQL. Но его также можно реализовать в отдельном файле общей библиотеки (двоичного файла), который является результатом компиляции исходного кода (обычно написанного в C или Rust), реализующего функциональные возможности.
В PostgreSQL вы управляете расширениями с помощью команд CREATE EXTENSION, ALTER EXTENSION, DROP EXTENSION и COMMENT ON EXTENSION.
-
CREATE EXTENSIONсоздает, устанавливает или загружает расширение в базу данных, в которой выполняется команда. -
ALTER EXTENSIONобновляет расширение до более новой версии. -
DROP EXTENSIONудаляет, деинсталлирует или выгружает расширение из базы данных, в которой выполняется эта команда. -
COMMENT ON EXTENSIONсохраняет комментарий о расширении в качестве объекта базы данных.
Когда сервер запускается, он определяет область памяти, к которому могут обращаться все серверные процессы, для совместного выполнения любых рабочих нагрузок. В jargon PostgreSQL эта область памяти называется общей памятью.
Некоторые расширения, реализующие функциональные возможности с помощью общих библиотек, должны получить доступ к этой общей области памяти из кода, встроенного в эти библиотеки. Эти расширения имеют еще одно требование, что их общие файлы библиотеки должны быть загружены основным процессом обработчика, как только сервер запускается. Для этих библиотек следуйте инструкциям в разделе Загрузка библиотек.
Модули
Хотя они не считаются расширениями, так как они не имеют файла управления и файла скрипта для развертывания упакованных объектов SQL в базе данных, другая форма расширяемости в PostgreSQL реализует функциональные возможности в автономных файлах общей двоичной библиотеки.
Эти файлы можно загрузить в память при запуске сервера. Они могут реализовать код, который обычно отклоняет естественный путь выполнения PostgreSQL, чтобы изменить функционирование ядра по умолчанию. Такие изменения поведения обычно стремятся усилить некоторые ограниченные функциональные возможности двигателя.
База данных Azure для PostgreSQL поддерживает следующие модули:
- auto_explain
- pg_failover_slots
- pg_partman_bgw
- wal2json