ALTER TYPE
名称
ALTER TYPE
-- 修改一个类型的定义
语法
ALTER TYPE name OWNER TO new_owner
ALTER TYPE name SET SCHEMA new_schema
描述
ALTER TYPE 改变一个现存类型的定义。目前能用的唯一的功能就是修改一个类型的所有者和模式。
要使用 ALTER TYPE ,你必须拥有该类型。要修改一个类型的模式,你还必须在新模式上拥有 CREATE 权限。要修改所有者,你还必须是新的所有角色的直接或间接成员,并且该成员必须在此类型的模式上有 CREATE 权限。这些限制强制了修改该所有者不会做任何通过删除和重建类型不能做的事情。不过,超级用户可以以任何方式修改任意类型的所有权。
参数
- name
一个需要修改的现有的类型的名字(可以有模式修饰)
- new_owner
新所有者的用户名
- new_schema
该类型的新模式
例子
要改变一个用户定义类型 email 的所有者为 joe :
ALTER TYPE email OWNER TO joe;
把用户定义类型 email 的模式改变为 customers :
ALTER TYPE email SET SCHEMA customers;
兼容性
SQL 标准里没有 ALTER TYPE 语句。