ALTER EXTENSION — 變更擴充功能的定義
ALTER EXTENSIONname
UPDATE [ TOnew_version
] ALTER EXTENSIONname
SET SCHEMAnew_schema
ALTER EXTENSIONname
ADDmember_object
ALTER EXTENSIONname
DROPmember_object
wheremember_object
is: ACCESS METHODobject_name
| AGGREGATEaggregate_name
(aggregate_signature
) | CAST (source_type
AStarget_type
) | COLLATIONobject_name
| CONVERSIONobject_name
| DOMAINobject_name
| EVENT TRIGGERobject_name
| FOREIGN DATA WRAPPERobject_name
| FOREIGN TABLEobject_name
| FUNCTIONfunction_name
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] | MATERIALIZED VIEWobject_name
| OPERATORoperator_name
(left_type
,right_type
) | OPERATOR CLASSobject_name
USINGindex_method
| OPERATOR FAMILYobject_name
USINGindex_method
| [ PROCEDURAL ] LANGUAGEobject_name
| PROCEDUREprocedure_name
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] | ROUTINEroutine_name
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] | SCHEMAobject_name
| SEQUENCEobject_name
| SERVERobject_name
| TABLEobject_name
| TEXT SEARCH CONFIGURATIONobject_name
| TEXT SEARCH DICTIONARYobject_name
| TEXT SEARCH PARSERobject_name
| TEXT SEARCH TEMPLATEobject_name
| TRANSFORM FORtype_name
LANGUAGElang_name
| TYPEobject_name
| VIEWobject_name
andaggregate_signature
is: * | [argmode
] [argname
]argtype
[ , ... ] | [ [argmode
] [argname
]argtype
[ , ... ] ] ORDER BY [argmode
] [argname
]argtype
[ , ... ]
ALTER EXTENSION
變更已安裝擴充功能的定義。 有幾種子形式
UPDATE
此形式將擴充功能更新到較新的版本。 擴充功能必須提供合適的更新腳本(或一系列腳本),這些腳本可以將目前已安裝的版本修改為請求的版本。
SET SCHEMA
此形式將擴充功能的物件移動到另一個綱要。 擴充功能必須是可重新定位的,此命令才能成功。
ADD member_object
此形式將現有的物件新增到擴充功能。 這主要在擴充功能更新腳本中很有用。 該物件隨後將被視為擴充功能的成員; 特別是,它只能透過捨棄擴充功能來捨棄。
DROP member_object
此形式從擴充功能中移除成員物件。 這主要在擴充功能更新腳本中很有用。 該物件不會被捨棄,僅與擴充功能取消關聯。
有關這些操作的更多資訊,請參閱第 36.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
函式、程序或彙總引數的模式:IN
、OUT
、INOUT
或 VARIADIC
。 如果省略,則預設值為 IN
。 請注意,ALTER EXTENSION
實際上並未注意 OUT
引數,因為只需要輸入引數即可確定函式的身分。 因此,列出 IN
、INOUT
和 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 EXTENSION
是 PostgreSQL 擴充功能。
如果您在說明文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步澄清的地方,請使用此表單來報告說明文件問題。