COMMENT

最近更新时间:2019-04-22 11:12:59

定义或更改对象的注释。

概要

COMMENT ON
{ TABLE object_name |
  COLUMN table_name.column_name |
  AGGREGATE agg_name (agg_type [, ...]) |
  CAST (sourcetype AS targettype) |
  CONSTRAINT constraint_name ON table_name |
  CONVERSION object_name |
  DATABASE object_name |
  DOMAIN object_name |
  FILESPACE object_name |
  FUNCTION func_name ([[argmode] [argname] argtype [, ...]]) |
  INDEX object_name |
  LARGE OBJECT large_object_oid |
  OPERATOR op (leftoperand_type, rightoperand_type) |
  OPERATOR CLASS object_name USING index_method |
  [PROCEDURAL] LANGUAGE object_name |
  RESOURCE QUEUE object_name |
  ROLE object_name |
  RULE rule_name ON table_name |
  SCHEMA object_name |
  SEQUENCE object_name |
  TABLESPACE object_name |
  TRIGGER trigger_name ON table_name |
  TYPE object_name |
  VIEW object_name } 
IS 'text'

描述

COMMENT存储关于数据库对象的注释。因此为了修改一段注释,对同一个对象 发出一个新的COMMENT命令。要移除一段注释,可在文本字符串的位置上写上NULL。当对象被删除时,其注释也会被自动删除。

可以使用psql元命令轻松检索注释 \dd、\d+ 和 \l+。其他检索注释的用户接口可以构建在psql使用的内建函数之上,即 obj_description、col_description 和 shobj_description。

参数

object_name
table_name.column_name
agg_name
constraint_name
func_name
op
rule_name
trigger_name
要注释的对象的名称。表,聚合,域,函数,索引,操作符,操作符类,序列,类型和视图的名称可能是方案限定的。

注意:

数据库不支持触发器。

agg_type
聚合功能运行的输入数据类型。要引用零参数聚合函数,写* * 代替输入数据类型的列表。

sourcetype
造型的源数据类型的名称。

targettype
造型的目标数据类型的名称。

argmode
一个函数或者聚集的参数的模式:IN、OUT、INOUT 或者 VARIADIC。如果被省略,默认值是IN。 注意COMMENT ON FUNCTION并不真正关心OUT参数,因为决定函数的身份只需要输入参数。因此,列出 IN、INOUT 和 VARIADIC参数就足够了。

argname
一个函数或者聚集参数的名称。注意COMMENT ON FUNCTION并不真正关心参数名称,因为决定函数的身份只需要参数数据类型。

argtype
一个函数或者聚集参数的数据类型。

large_object_oid
大对象的OID。

PROCEDURAL
这是一个噪声词。

text
写成一个字符串的新注释。如果要删除注释,写成NULL。

注解

当前对查看注释没有安全机制:任何连接到一个数据库的用户能够看到 该数据库中所有对象的注释。对于数据库、角色、表空间这类共享对象, 注释被全局存储,因此连接到集簇中任何数据库的任何用户可以看到共 享对象的所有注释。因此,不要在注释中放置有安全性风险的信息。

示例

为表mytable附加一段注释:

COMMENT ON TABLE mytable IS 'This is my table.';

移除它:

COMMENT ON TABLE mytable IS NULL;

兼容性

SQL标准中没有COMMENT语句。