COMMENT
创建或更改有关数据库对象的注释。
语法
COMMENT ON { TABLE object_name | COLUMN object_name.column_name | CONSTRAINT constraint_name ON table_name | DATABASE object_name | VIEW object_name } IS 'text' | NULL
参数
- object_name
-
要添加注释的数据库对象的名称。您可以将注释添加到以下对象:
-
TABLE
-
COLUMN(还接受 column_name)。
-
CONSTRAINT(还接受 constraint_name 和 table_name)。
-
DATABASE
-
VIEW
-
SCHEMA
-
- IS 'text' | NULL
-
要为指定对象添加或替换的注释文本。文本字符串的数据类型是 TEXT。将注释放在单引号内。将值设置为 NULL 可删除注释文本。
- column_name
-
要添加注释的列的名称。COLUMN 的参数。跟随在
object_name
中指定的表后面。 - constraint_name
-
要添加注释的约束的名称。CONSTRAINT 的参数。
- table_name
-
包含约束的表的名称。CONSTRAINT 的参数。
使用说明
要添加或更新注释,您必须是超级用户或数据库对象的所有者。
数据库的注释只能应用于当前数据库。如果您尝试对不同的数据库添加注释,则会显示警告消息。对不存在的数据库添加注释时,会显示同一警告。
不支持对外部表、外部列和后期绑定视图的列进行评论。
示例
以下示例将注释添加到 SALES 表中。
COMMENT ON TABLE sales IS 'This table stores tickets sales data';
以下示例在 SALES 表中显示该注释。
select obj_description('public.sales'::regclass); obj_description ------------------------------------- This table stores tickets sales data
以下示例从 SALES 表中删除注释。
COMMENT ON TABLE sales IS NULL;
以下示例将注释添加到 SALES 表的 EVENTID 列中。
COMMENT ON COLUMN sales.eventid IS 'Foreign-key reference to the EVENT table.';
以下示例在 SALES 表的 EVENTID 列(列号 5)中显示注释。
select col_description( 'public.sales'::regclass, 5::integer ); col_description ----------------------------------------- Foreign-key reference to the EVENT table.
以下示例将描述性注释添加到 EVENT 表。
comment on table event is 'Contains listings of individual events.';
要查看注释,请查询 PG_DESCRIPTION 系统目录。以下示例返回 EVENT 表的描述。
select * from pg_catalog.pg_description where objoid = (select oid from pg_class where relname = 'event' and relnamespace = (select oid from pg_catalog.pg_namespace where nspname = 'public') ); objoid | classoid | objsubid | description -------+----------+----------+---------------------------------------- 116658 | 1259 | 0 | Contains listings of individual events.