ALTER EXTENSION

    • ALTER EXTENSION 修改一个已安装的扩展的定义. 这里有几种方式:

    • SET SCHEMA

      这种方式移动扩展对象到另一个模式. 这个扩展必须relocatable才能使命令成功.

    • ADD member_object

      这种方式添加一个已存在对象到扩展. 这主要在扩展更新脚本上有用. 这个对象接着会被视为扩展的成员; 显而易见,该对象只能通过取消扩展来取消 .

    • DROP member_object

      这个方式从扩展上移除一个成员对象. 主要在扩展更新脚本上有用 .这个对象没有被取消, 只是从扩展里分开了.

      你必须拥有扩展来使用 ALTER EXTENSION. 这个 ADD/DROP 方式要求 添加/删除对象的所有权.

    • name

      已安装扩展的名称.

    • 希望的扩展新版本. 这个能被标识符和字面字符重写.如果不是指定的, ALTER EXTENSION UPDATE 尝试去更新到不管是什么在扩展的控制文件中显示的默认版本.

    • new_schema

      给扩展的新模式.

    • agg_type

      在聚合函数操作上的一个输入数据类型. 去引用一个零参数聚合函数,写 * 代替这些输入数据类型列表.

    • source_type

      强制转换的源数据类型的名称.

    • 强制转换的目标数据类型的名称.

    • argmode

      这个函数参数的模型: IN, OUT, INOUT, 或者 VARIADIC. 如果省略的话, 默认的是 IN. 注意 ALTER EXTENSION 不关心OUT参数 , 因为确认函数的一致性只需要输入参数.因此列出 IN, INOUT, 和 VARIADIC 参数就足够了.

    • argname

      函数参数的名称. 注意ALTER EXTENSION不关心参数名称, 因为确认函数的一致性只需要参数数据类型.

    • argtype

      函数参数的数据类型(可以有模式修饰).

    更新 hstore 扩展到版本 2.0:

    更新 hstore扩展的模式为utils: