ALTER EXTENSION
Изменяет определение расширения.
Синтаксис
ALTER EXTENSION <name> UPDATE [ TO <new_version> ]
ALTER EXTENSION <name> SET SCHEMA <new_schema>
ALTER EXTENSION <name> ADD <member_object>
ALTER EXTENSION <name> DROP <member_object>
где member_object может принимать следующие значения:
AGGREGATE <aggregate_name> ( <aggregate_signature> ) |
CAST (<source_type> AS <target_type>) |
COLLATION <object_name> |
CONVERSION <object_name> |
DOMAIN <object_name> |
EVENT TRIGGER <object_name> |
FOREIGN DATA WRAPPER <object_name> |
FOREIGN TABLE <object_name> |
FUNCTION <function_name> ( [ [ <argmode> ] [ <argname> ] <argtype> [, ...] ] ) |
MATERIALIZED VIEW <object_name> |
OPERATOR <operator_name> (<left_type>, <right_type>) |
OPERATOR CLASS <object_name> USING <index_method> |
OPERATOR FAMILY <object_name> USING <index_method> |
[ PROCEDURAL ] LANGUAGE <object_name> |
SCHEMA <object_name> |
SEQUENCE <object_name> |
SERVER <object_name> |
TABLE <object_name> |
TEXT SEARCH CONFIGURATION <object_name> |
TEXT SEARCH DICTIONARY <object_name> |
TEXT SEARCH PARSER <object_name> |
TEXT SEARCH TEMPLATE <object_name> |
TYPE <object_name> |
VIEW <object_name>
и aggregate_signature:
* |
[ <argmode> ] [ <argname> ] <argtype> [ , ... ] |
[ [ <argmode> ] [ <argname> ] <argtype> [ , ... ] ] ORDER BY [ <argmode> ] [ <argname> ] <argtype> [ , ... ]
Описание
ALTER EXTENSION изменяет определение установленного расширения.
Существует несколько форм этой команды:
-
UPDATE— эта форма обновляет расширение до более новой версии. Расширение должно предоставлять подходящий скрипт обновления (или серию скриптов), который может изменить текущую установленную версию на запрошенную. -
SET SCHEMA— эта форма перемещает объекты расширения в другую схему. Чтобы эта команда была выполнена успешно, расширение должно быть перемещаемым (relocatable). -
ADD member_object— эта форма добавляет существующий объект в расширение. Применяется в основном в скриптах обновления расширений. Впоследствии объект будет рассматриваться как часть расширения и его можно будет удалить только путем удаления самого расширения. -
DROP member_object— эта форма удаляет объект из расширения. Применяется в основном в скриптах обновления расширений. Объект не удаляется, а только отсоединяется от расширения.
Необходимо быть владельцем расширения для использования ALTER EXTENSION.
Формы ADD/DROP также требуют владения добавляемым/удаляемым объектом.
Параметры
| Параметр | Описание |
|---|---|
name |
Имя установленного расширения |
new_version |
Желаемая новая версия расширения.
Ее можно записать либо как идентификатор, либо как строковый литерал.
Если не указано, |
new_schema |
Новая схема для расширения |
object_name, aggregate_name, function_name, operator_name |
Имя объекта для добавления в расширение или удаления из него. Имена таблиц, агрегатов, доменов, сторонних таблиц, функций, операторов, классов операторов, семейств операторов, последовательностей, объектов текстового поиска, типов и представлений могут быть квалифицированы схемой |
source_type |
Имя исходного типа данных приведения |
target_type |
Имя целевого типа данных приведения |
argmode |
Режим аргумента функции или агрегата: |
argname |
Имя аргумента функции или агрегата.
Обратите внимание, что |
argtype |
Тип данных аргумента функции или агрегата |
left_type, right_type |
Типы данных аргументов оператора (опционально указанное со схемой).
Укажите |
PROCEDURAL |
Не несет смысловой нагрузки |
Примеры
Обновить расширение hstore до версии 2.0:
ALTER EXTENSION hstore UPDATE TO '2.0';
Изменить схему расширения hstore на utils:
ALTER EXTENSION hstore SET SCHEMA utils;
Добавить существующую функцию в расширение hstore:
ALTER EXTENSION hstore ADD FUNCTION populate_record(anyelement, hstore);
Совместимость
ALTER EXTENSION является расширением PostgreSQL.