COMMENT

COMMENT

定义或更改对象的注释。

概要

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
要注释的对象的名称。表,聚合,域,函数,索引,操作符,操作符类,序列,类型和视图的名称可能是方案限定的。
注意: Greenplum数据库不支持触发器。
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 语句。