Привет, Я DocuDroid!
Оценка ИИ поиска
Спасибо за оценку нашего ИИ поиска!
Мы будем признательны, если вы поделитесь своими впечатлениями, чтобы мы могли улучшить наш ИИ поиск для вас и других читателей.
GitHub

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.

SHAREDIR — это каталог общих данных установки, например /usr/local/greengage-db-devel/share/postgresql. Команда pg_config --sharedir показывает этот каталог

SCHEMA <schema_name>

Имя схемы, в которую следует установить объекты расширения. Предполагается, что расширение позволяет перемещать свое содержимое. Указанная схема должна уже существовать. Если не указано и управляющий файл расширения не задает схему, используется текущая схема создания объектов по умолчанию.

Если расширение задает параметр схемы в своем управляющем файле, то эту схему нельзя переопределить с помощью выражения SCHEMA. Обычно выдается ошибка, если указано выражение SCHEMA и оно конфликтует с параметром схемы расширения. Заданное значение schema_name используется для установки любых необходимых расширений, которые не указывают схему в своих управляющих файлах.

Само расширение не находится внутри какой-либо схемы. Расширения имеют неквалифицированные имена, которые должны быть уникальными в базе данных. Но объекты, принадлежащие расширению, могут находиться внутри схемы

VERSION <version>

Версия устанавливаемого расширения. Может быть записана как идентификатор или строковый литерал. Версия по умолчанию — это значение, указанное в управляющем файле расширения

FROM <old_version>

Указывайте FROM <old_version> только в том случае, если вы пытаетесь установить расширение, которое заменяет модуль старого стиля (набор объектов, не упакованных в расширение). Если указано, CREATE EXTENSION запускает альтернативный скрипт установки, который включает существующие объекты в расширение вместо создания новых объектов. Убедитесь, что выражение SCHEMA указывает схему, содержащую эти существующие объекты.

Значение для old_version определяется автором расширения и может варьироваться, если существует более одной версии модуля старого стиля, которую можно обновить до расширения. Для стандартных дополнительных модулей, поставляемых с PostgreSQL до версии 9.1, укажите unpackaged в качестве 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.

См. также