选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.0 已于 2015 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

COMMENT

COMMENT — 定义或修改对象的注释

大纲

COMMENT ON
{
  TABLE object_name |
  AGGREGATE agg_name (agg_type [, ...] ) |
  CAST (source_type AS target_type) |
  COLUMN relation_name.column_name |
  CONSTRAINT constraint_name ON table_name |
  CONVERSION object_name |
  DATABASE object_name |
  DOMAIN object_name |
  FUNCTION function_name ( [ [ argmode ] [ argname ] argtype [, ...] ] ) |
  INDEX object_name |
  LARGE OBJECT large_object_oid |
  OPERATOR operator_name (left_type, right_type) |
  OPERATOR CLASS object_name USING index_method |
  OPERATOR FAMILY object_name USING index_method |
  [ PROCEDURAL ] LANGUAGE object_name |
  ROLE object_name |
  RULE rule_name ON table_name |
  SCHEMA object_name |
  SEQUENCE object_name |
  TABLESPACE object_name |
  TEXT SEARCH CONFIGURATION object_name |
  TEXT SEARCH DICTIONARY object_name |
  TEXT SEARCH PARSER object_name |
  TEXT SEARCH TEMPLATE object_name |
  TRIGGER trigger_name ON table_name |
  TYPE object_name |
  VIEW object_name
} IS 'text'

描述

COMMENT存储数据库对象的注释。

要修改一个注释,可以对同一对象发出一条新的COMMENT命令。每个对象只存储一个注释字符串。要移除一个注释,用NULL代替文本字符串。对象被删除时,其注释也会被自动删除。

可以使用psql\d 系列命令查看这些注释。其他用于检索注释的用户界面,也可以建立在 psql使用的同一组内置函数之上,即 obj_descriptioncol_descriptionshobj_description (见表 9.52)。

参数

object_name
relation_name.column_name
agg_name
constraint_name
function_name
op
rule_name
trigger_name

要添加注释的对象的名称。表、聚合、域、函数、索引、操作符、操作符类、操作符族、序列、文本搜索对象、类型和视图的名称可以带模式限定。为列添加注释时,relation_name必须引用一个表、视图或复合类型。

agg_type

聚合函数作用于其上的输入数据类型。要引用一个零参数聚合函数,请在输入数据类型列表的位置写 *

source_type

类型转换的源数据类型的名称。

target_type

类型转换的目标数据类型的名称。

argmode

函数参数的模式:INOUTINOUTVARIADIC。如果省略,默认为 IN。注意 COMMENT ON FUNCTION 实际上并不关心 OUT 参数,因为确定函数的标识只需要输入参数。因此只列出 ININOUTVARIADIC 参数就足够了。

argname

函数参数的名称。注意 COMMENT ON FUNCTION 实际上并不关心参数名称,因为确定函数的标识只需要参数的数据类型。

argtype

大对象的 OID。

large_object_oid

大对象的 OID。

PROCEDURAL

这是一个噪声词。

text

新的注释,以字符串字面量形式书写;也可以写 NULL 来移除该注释。

注解

目前注释没有任何安全机制:任何连接到数据库的用户都能看到该数据库中对象的全部注释(不过只有超级用户才能修改他们不拥有的对象的注释)。对于数据库、角色和表空间这样的共享对象,注释被全局存储,任何连接到任何数据库的用户都能看到共享对象的全部注释。因此,不要把安全攸关的信息放在注释里。

示例

为表mytable附加一条注释:

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

再将其移除:

COMMENT ON TABLE mytable IS NULL;

Some more examples:

COMMENT ON AGGREGATE my_aggregate (double precision) IS 'Computes sample variance';
COMMENT ON CAST (text AS int4) IS 'Allow casts from text to int4';
COMMENT ON COLUMN my_table.my_column IS 'Employee ID number';
COMMENT ON CONVERSION my_conv IS 'Conversion to UTF8';
COMMENT ON DATABASE my_database IS 'Development Database';
COMMENT ON DOMAIN my_domain IS 'Email Address Domain';
COMMENT ON FUNCTION my_function (timestamp) IS 'Returns Roman Numeral';
COMMENT ON INDEX my_index IS 'Enforces uniqueness on employee ID';
COMMENT ON LANGUAGE plpython IS 'Python support for stored procedures';
COMMENT ON LARGE OBJECT 346344 IS 'Planning document';
COMMENT ON OPERATOR ^ (text, text) IS 'Performs intersection of two texts';
COMMENT ON OPERATOR - (NONE, text) IS 'This is a prefix operator on text';
COMMENT ON OPERATOR CLASS int4ops USING btree IS '4 byte integer operators for btrees';
COMMENT ON OPERATOR FAMILY integer_ops USING btree IS 'all integer operators for btrees';
COMMENT ON ROLE my_role IS 'Administration group for finance tables';
COMMENT ON RULE my_rule ON my_table IS 'Logs updates of employee records';
COMMENT ON SCHEMA my_schema IS 'Departmental data';
COMMENT ON SEQUENCE my_sequence IS 'Used to generate primary keys';
COMMENT ON TABLE my_schema.my_table IS 'Employee Information';
COMMENT ON TABLESPACE my_tablespace IS 'Tablespace for indexes';
COMMENT ON TEXT SEARCH CONFIGURATION my_config IS 'Special word filtering';
COMMENT ON TEXT SEARCH DICTIONARY swedish IS 'Snowball stemmer for Swedish language';
COMMENT ON TEXT SEARCH PARSER my_parser IS 'Splits text into words';
COMMENT ON TEXT SEARCH TEMPLATE snowball IS 'Snowball stemmer';
COMMENT ON TRIGGER my_trigger ON my_table IS 'Used for RI';
COMMENT ON TYPE complex IS 'Complex number data type';
COMMENT ON VIEW my_view IS 'View of departmental costs';

兼容性

SQL 标准中没有COMMENT命令。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。