功能描述
移除一个域。
语法格式
DROP DOMAIN [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
参数说明
- IF EXISTS:如果该域不存在,不报错仅提示;
- name:现有域的名称,可以被模式修饰;
- CASCADE:自动删除依赖于该域的对象(例如表),以及所有依赖于那些对象的对象;
- RESTRICT:如果有任何对象依赖于该域,则拒绝删除,此为默认设置。
注意事项
只有域的所有者可以移除域。
范例
DROP DOMAIN us_postal_code;
DROP DOMAIN
语法兼容
除了IF EXISTS选项,这个命令符合SQL标准。IF EXISTS是一个PostgreSQL扩展。
相关语法
功能描述
移除一个扩展。
语法格式
DROP EXTENSION [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
参数说明
- IF EXISTS:如果该扩展不存在,不报错仅提示;
- name:已安装的扩展的名称;
- CASCADE:自动删除依赖于该扩展的对象,以及所有依赖于那些对象的对象;
- RESTRICT:如果有任何对象依赖于该对象,则拒绝删除,此为默认设置。
注意事项
只有扩展的所有者可以移除该扩展。
范例
DROP EXTENSION hstore;
DROP EXTENSION
语法兼容
DROP EXTENSION是一个PostgreSQL扩展。
相关语法
CREATE EXTENSION, ALTER EXTENSION
功能描述
删除一个函数。
语法格式
DROP FUNCTION [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...]
[ CASCADE | RESTRICT ]
参数说明
- IF EXISTS:如果该函数不存在,不报错仅提示;
- name:现有函数的名称,可以被模式修饰;
- argmode:函数参数的模式,取值范围:IN、OUT、INOUT或者VARIADIC,缺省为IN;
- argname:函数参数的名称,取值范围:字符串;
- argtype:函数参数的数据类型;
- CASCADE:自动删除依赖于该函数的对象(例如操作符和触发器),以及所有依赖于那些对象的对象;
- RESTRICT:如果有任何对象依赖于该函数,则拒绝删除,此为默认设置。
注意事项
只有函数的所有者可以移除该函数。
必须指定函数的参数类型,因为不同函数可能会拥有相同名称和不同参数列表。
范例
DROP FUNCTION func_get(integer);
DROP FUNCTION
语法兼容
该命令符合SQL标准。
相关语法
CREATE FUNCTION, ALTER FUNCTION
功能描述
移除一个数据库角色。
语法格式
DROP GROUP [ IF EXISTS ] name [, ...]
参数说明
参考DROP ROLE的参数说明。
注意事项
DROP GROUP是DROP ROLE的别名。
语法兼容
在SQL标准中没有DROP GROUP语句。
相关语法
功能描述
移除一个索引。
语法格式
DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
参数说明
- CONCURRENTLY:以不加锁的方式删除索引。删除索引时,一般会阻塞其他语句对该索引所依赖表的访问。加此关键字,可实现删除过程中不做阻塞。此选项只能指定一个索引的名称, 并且CASCADE选项不支持。普通DROP INDEX命令可以在事务内执行,但是DROP INDEX CONCURRENTLY不可以在事务内执行;
- IF EXISTS:如果该索引不存在,不报错仅提示;
- name:待移除的索引的名称,可以被模式修饰;
- CASCADE:自动删除依赖于该索引的对象,以及所有依赖于那些对象的对象;
- RESTRICT:如果有任何对象依赖于该索引,则拒绝删除,此为默认设置。
注意事项
只有索引的所有者才能移除该索引。
范例
DROP INDEX customer_idx;
DROP INDEX
语法兼容
DROP INDEX是一个PostgreSQL语言扩展。在SQL标准中没有提供索引。
相关语法
功能描述
移除一个语言。
语法格式
DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] name [ CASCADE | RESTRICT ]
参数说明
- IF EXISTS:如果该语言不存在,不报错仅提示;
- name:现有的语言的名称,可以使用单引号包围;
- CASCADE:自动删除依赖于该索引的对象(例如该语言中的函数),以及所有依赖于那些对象的对象;
- RESTRICT:如果有任何对象依赖于该语言,则拒绝删除,此为默认设置。
注意事项
只有该语言的所有者可以移除该语言。
范例
DROP LANGUAGE plsample;
语法兼容
在SQL标准中没有DROP LANGUAGE语句。
相关语法
ALTER LANGUAGE, CREATE LANGUAGE
功能描述
移除一个物化视图。
语法格式
DROP MATERIALIZED VIEW [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
参数说明
- IF EXISTS:如果该物化视图不存在,不报错仅提示;
- name:待移除的物化视图的名称,可以被模式修饰;
- CASCADE:自动删除依赖于该物化视图的对象(例如其他物化视图或常规视图),以及所有依赖于那些对象的对象;
- RESTRICT:如果有任何对象依赖于该物化视图,则拒绝删除,此为默认设置。
注意事项
只有物化视图的所有者可以移除该物化视图。
范例
DROP MATERIALIZED VIEW mv_customer;
DROP MATERIALIZED VIEW
语法兼容
DROP MATERIALIZED VIEW是一个PostgreSQL扩展。
相关语法
CREATE MATERIALIZED VIEW, ALTER MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW
功能描述
移除节点。该接口不建议用户直接使用,以免对集群状态造成影响。
语法格式
DROP NODE nodename
参数说明
- nodename:待删除的节点名。
注意事项
DROP NODE是集群管理工具封装的内部接口,用来实现集群管理。该接口不建议用户直接使用,以免对集群状态造成影响。
语法兼容
DROP NODE不是标准SQL语法。
相关语法
功能描述
删除节点组。该接口不建议用户直接使用,以免对集群状态造成影响。
语法格式
DROP NODE GROUP groupname
参数说明
- groupname:要删除的节点组名。
注意事项
DROP NODE GROUP是集群管理工具封装的内部接口,用来实现集群管理。该接口不建议用户直接使用,以免对集群状态造成影响。
语法兼容
DROP NODE GROUP不是标准SQL语法。
相关语法
功能描述
移除一个操作符。
语法格式
DROP OPERATOR [ IF EXISTS ] name ( { left_type | NONE } , { right_type | NONE } ) [, ...] [ CASCADE | RESTRICT ]
参数说明
- IF EXISTS:如果该操作符不存在,不报错仅提示;
- name:现有的操作符的名称,可以被模式修饰;
- left_type:这个操作符的左操作数(如果有)的数据类型,缺省情况下可以写成NONE;
- right_type:这个操作符的右操作数(如果有)的数据类型,缺省情况下可以写成NONE;
- CASCADE:自动删除依赖于该操作符的对象(例如使用它的视图),以及所有依赖于那些对象的对象;
- RESTRICT:如果有任何对象依赖于该操作符,则拒绝删除,此为默认设置。
注意事项
只有操作符的所有者可以删除该操作符。
范例
DROP OPERATOR ^ (integer, integer);
语法兼容
SQL标准中没有DROP OPERATOR语句。
相关语法