CREATE EXTENSION
Регистрирует расширение в базе данных Greengage DB.
Синтаксис
CREATE EXTENSION [ IF NOT EXISTS ] <extension_name>
[ WITH ] [ SCHEMA <schema_name> ]
[ VERSION <version> ]
[ FROM <old_version> ]
Описание
Команда CREATE EXTENSION загружает новое расширение в текущую базу данных.
Расширение с таким именем не должно быть уже загружено.
Загрузка расширения по сути сводится к выполнению файла скрипта расширения.
Скрипт обычно создает новые SQL-объекты, такие как функции, типы данных, операторы и методы поддержки индексов.
Команда CREATE EXTENSION также записывает идентификаторы всех созданных объектов, чтобы их можно было удалить при выполнении DROP EXTENSION.
Загрузка расширения требует тех же прав, которые потребовались бы для создания объектов, входящих в состав расширения.
Для большинства расширений это означает наличие прав суперпользователя или владельца базы данных.
Пользователь, запускающий CREATE EXTENSION, становится владельцем расширения для целей последующих проверок привилегий, а также владельцем любых объектов, созданных скриптом расширения.
Параметры
| Параметр | Описание |
|---|---|
IF NOT EXISTS |
Не выдавать ошибку, если расширение с таким именем уже существует. В этом случае будет выведено уведомление. При этом нет гарантии, что существующее расширение похоже на то, которое могло бы быть установлено |
extension_name |
Имя устанавливаемого расширения. Имя должно быть уникальным в пределах базы данных. Расширение создается на основе данных из управляющего файла расширения $SHAREDIR/extension/extension_name.control.
|
SCHEMA <schema_name> |
Имя схемы, в которую следует установить объекты расширения. Предполагается, что расширение позволяет перемещать свое содержимое. Указанная схема должна уже существовать. Если не указано и управляющий файл расширения не задает схему, используется текущая схема создания объектов по умолчанию. Если расширение задает параметр схемы в своем управляющем файле, то эту схему нельзя переопределить с помощью выражения Само расширение не находится внутри какой-либо схемы. Расширения имеют неквалифицированные имена, которые должны быть уникальными в базе данных. Но объекты, принадлежащие расширению, могут находиться внутри схемы |
VERSION <version> |
Версия устанавливаемого расширения. Может быть записана как идентификатор или строковый литерал. Версия по умолчанию — это значение, указанное в управляющем файле расширения |
FROM <old_version> |
Указывайте Значение для |
Примечания
Расширения, доступные в данный момент для загрузки, можно определить с помощью системных представлений pg_available_extensions или pg_available_extension_versions.
Перед использованием CREATE EXTENSION для загрузки расширения в базу данных необходимо установить файлы поддержки расширения, включая управляющий файл расширения и как минимум один файл SQL-скрипта.
Файлы должны быть размещены по одному и тому же пути на всех хостах Greengage DB.
Информацию о создании новых расширений см. в документации PostgreSQL в разделе Packaging Related Objects into an Extension.
Совместимость
Команда CREATE EXTENSION является расширением Greengage DB.