↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

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 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1 / 7.0
历史版本PostgreSQL 8.1 已于 2010 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

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 |
  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 |
  RULE rule_name ON table_name |
  SCHEMA object_name |
  SEQUENCE 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 (见表 9.43)。

参数

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。如果省略,默认为 IN。注意 COMMENT ON FUNCTION 实际上并不关心 OUT 参数,因为确定函数的标识只需要输入参数。因此只列出 IN 和 INOUT 参数就足够了。

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;

更多示例:

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 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 TEXT SEARCH DICTIONARY swedish IS 'Snowball stemmer for Swedish language';
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 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。