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

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

Желаемая новая версия расширения. Ее можно записать либо как идентификатор, либо как строковый литерал. Если не указано, ALTER EXTENSION UPDATE попытается обновить до версии, указанной как версия по умолчанию в управляющем файле расширения

new_schema

Новая схема для расширения

object_name, aggregate_name, function_name, operator_name

Имя объекта для добавления в расширение или удаления из него. Имена таблиц, агрегатов, доменов, сторонних таблиц, функций, операторов, классов операторов, семейств операторов, последовательностей, объектов текстового поиска, типов и представлений могут быть квалифицированы схемой

source_type

Имя исходного типа данных приведения

target_type

Имя целевого типа данных приведения

argmode

Режим аргумента функции или агрегата: IN, OUT, INOUT или VARIADIC. Если опущено, значением по умолчанию является IN. Обратите внимание, что ALTER EXTENSION на самом деле не обращает внимания на аргументы OUT, так как для определения функции нужны только входные аргументы. Поэтому достаточно перечислить аргументы IN, INOUT и VARIADIC

argname

Имя аргумента функции или агрегата. Обратите внимание, что ALTER EXTENSION на самом деле не обращает внимания на имена аргументов, так как для определения функции нужны только типы данных аргументов

argtype

Тип данных аргумента функции или агрегата

left_type, right_type

Типы данных аргументов оператора (опционально указанное со схемой). Укажите NONE для отсутствующего аргумента префиксного или постфиксного оператора

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.

См. также