.\\" auto-generated by docbook2man-spec $Revision: 1.25 $
.TH "COMMENT" "l" "2002-11-22" "SQL - Language Statements" "SQL Commands"
.SH NAME
COMMENT \- define or change the comment of an object
.SH SYNOPSIS
.sp
.nf
COMMENT ON
[
  TABLE \fIobject_name\fR |
  COLUMN \fItable_name\fR.\fIcolumn_name\fR |
  AGGREGATE \fIagg_name\fR (\fIagg_type\fR) |
  CONSTRAINT \fIconstraint_name\fR ON \fItable_name\fR |
  DATABASE \fIobject_name\fR |
  DOMAIN \fIobject_name\fR |
  FUNCTION \fIfunc_name\fR (\fIarg1_type\fR, \fIarg2_type\fR, ...) |
  INDEX \fIobject_name\fR |
  OPERATOR \fIop\fR (\fIleftoperand_type\fR, \fIrightoperand_type\fR) |
  RULE \fIrule_name\fR ON \fItable_name\fR |
  SCHEMA \fIobject_name\fR |
  SEQUENCE \fIobject_name\fR |
  TRIGGER \fItrigger_name\fR ON \fItable_name\fR |
  TYPE \fIobject_name\fR |
  VIEW \fIobject_name\fR
] IS \fI'text'\fR
  
.sp
.fi
.SS "INPUTS"
.PP
.TP
\fB\fIobject_name,\fR
The name of the object to be be commented. Names of tables,
aggregates, domains, functions, indexes, operators, sequences, types,
and views
may be schema-qualified.
.TP
\fB\fItext\fB\fR
The comment to add.
.PP
.SS "OUTPUTS"
.PP
.TP
\fBCOMMENT\fR
Message returned if the table is successfully commented.
.PP
.SH "DESCRIPTION"
.PP
\fBCOMMENT\fR stores a comment about a database object.
Comments can be
easily retrieved with \fBpsql\fR's
\fB\\dd\fR, \fB\\d+\fR, or \fB\\l+\fR
commands. Other user interfaces to retrieve comments can be built atop
the same built-in functions that \fBpsql\fR uses, namely
\fBobj_description()\fR and \fBcol_description()\fR.
.PP
To modify a comment, issue a new \fBCOMMENT\fR command for the
same object. Only one comment string is stored for each object.
To remove a comment, write NULL in place of the text
string.
Comments are automatically dropped when the object is dropped.
.sp
.RS
.B "Note:"
There is presently no security mechanism
for comments: any user connected to a database can see all the comments
for objects in that database (although only superusers can change
comments for objects that they don't own). Therefore, don't put
security-critical information in comments.
.RE
.sp
.SH "USAGE"
.PP
Attach a comment to the table mytable:
.sp
.nf
COMMENT ON TABLE mytable IS 'This is my table.';
   
.sp
.fi
Remove it again:
.sp
.nf
COMMENT ON TABLE mytable IS NULL;
   
.sp
.fi
.PP
Some more examples:
.sp
.nf
COMMENT ON AGGREGATE my_aggregate (double precision) IS 'Computes sample variance';
COMMENT ON COLUMN my_table.my_field IS 'Employee ID number';
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 OPERATOR ^ (text, text) IS 'Performs intersection of two texts';
COMMENT ON OPERATOR ^ (NONE, text) IS 'This is a prefix operator on text';
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 TRIGGER my_trigger ON my_table IS 'Used for R.I.';
COMMENT ON TYPE complex IS 'Complex Number datatype';
COMMENT ON VIEW my_view IS 'View of departmental costs';
   
.sp
.fi
.SH "COMPATIBILITY"
.SS "SQL92"
.PP
There is no \fBCOMMENT\fR in SQL92.
