.\\" auto-generated by docbook2man-spec $Revision: 1.1.1.1 $
.TH "COMMENT" "" "2007-09-16" "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
.SH "DESCRIPTION"
.PP
\fBCOMMENT\fR stores a comment about a database object.
Comments can be
easily retrieved with the \fBpsql\fR commands
\fB\\dd\fR, \fB\\d+\fR, and \fB\\l+\fR.
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.
.SH "PARAMETERS"
.TP
\fB\fIobject_name\fB\fR
.TP
\fB\fItable_name.column_name\fB\fR
.TP
\fB\fIaggname\fB\fR
.TP
\fB\fIconstraint_name\fB\fR
.TP
\fB\fIfunc_name\fB\fR
.TP
\fB\fIop\fB\fR
.TP
\fB\fIrule_name\fB\fR
.TP
\fB\fItrigger_name\fB\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 new comment.
.SH "NOTES"
.PP
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.
.SH "EXAMPLES"
.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_column 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 RI';
COMMENT ON TYPE complex IS 'Complex number data type';
COMMENT ON VIEW my_view IS 'View of departmental costs';
.sp
.fi
.SH "COMPATIBILITY"
.PP
There is no \fBCOMMENT\fR command in the SQL standard.
