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