他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

ALTER EXTENSION

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は以下の通りです。

  ACCESS METHOD object_name |
  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 |
  PROCEDURE procedure_name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] |
  ROUTINE routine_name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] |
  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 |
  TRANSFORM FOR type_name LANGUAGE lang_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

この構文は拡張のオブジェクトを別のスキーマに移動します。 このコマンドを成功させるためには、拡張は再配置可能でなければなりません。

ADD member_object

この構文は既存のオブジェクトを拡張に追加します。 これは主に拡張の更新スクリプトで有用です。 オブジェクトはその後拡張のメンバとして扱われます。 特に、オブジェクトの削除は拡張の削除によってのみ可能です。

DROP member_object

この構文は拡張からメンバオブジェクトを削除します。 これは主に拡張の更新スクリプトで有用です。 オブジェクトは削除されません。拡張との関連がなくなるだけです。

これらの操作の詳細については37.17を参照してください。

ALTER EXTENSIONを使用するためには拡張の所有者でなければなりません。 ADD/DROP構文では追加されるオブジェクトまたは削除されるオブジェクトの所有者でもなければなりません。

パラメータ

name

インストールされた拡張の名前です。

new_version

更新したい新しい拡張のバージョンです。 これは識別子または文字列リテラルのいずれかで記述することができます。 指定がない場合、ALTER EXTENSION UPDATEは拡張の制御ファイル内でデフォルトバージョンとして示されるものへの更新を試行します。

new_schema

拡張の新しいスキーマです。

object_name
aggregate_name
function_name
operator_name
procedure_name
routine_name

拡張に追加する、または、拡張から削除するオブジェクトの名前です。 テーブル、集約、ドメイン、外部テーブル、関数、演算子、演算子クラス、演算子族、プロシージャ、ルーチン、シーケンス、全文検索オブジェクト、型、ビューの名前はスキーマ修飾可能です。

source_type

キャストの変換元データ型の名前です。

target_type

キャストの変換先データ型の名前です。

argmode

関数、プロシージャ、または集約の引数のモードでINOUTINOUTVARIADICのいずれかです。 省略時のデフォルトはINです。 関数を識別するためには入力引数だけが必要ですので、実際のところALTER EXTENSIONOUT引数を考慮しないことに注意してください。 このためININOUTおよびVARIADIC引数を列挙するだけで十分です。

argname

関数、プロシージャ、または集約の引数の名前です。 関数を識別するためには入力引数だけが必要ですので、実際のところALTER EXTENSIONは引数名を考慮しないことに注意してください。

argtype

関数、プロシージャ、または集約の引数のデータ型です。

left_type
right_type

演算子の引数のデータ型(スキーマ修飾可)です 前置または後置演算子における存在しない引数にはNONEと記述してください。

PROCEDURAL

これは無意味な単語です。

type_name

変換のデータ型の名前です。

lang_name

変換の言語の名前です。

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 EXTENSIONPostgreSQLの拡張です。

関連項目

CREATE EXTENSION, DROP EXTENSION