COMMENT ON [ [ DATABASE | INDEX | RULE | SEQUENCE | TABLE | TYPE | VIEW ] object_name | COLUMN table_name.column_name | AGGREGATE agg_name (agg_type) | FUNCTION func_name (arg1, arg2, ...) | OPERATOR op (leftoperand_type rightoperand_type) | TRIGGER trigger_name ON table_name ] IS 'text'
COMMENT stores a comment about a
database object. Comments can be easily retrieved with psql's \dd, \d+, or \l+ commands. Other
user interfaces to retrieve comments can be built atop the same
built-in functions that psql uses, namely
obj_description()
and col_description()
.
To modify a comment, issue a new COMMENT 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.
It should be noted that 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.
Comment the table mytable:
COMMENT ON mytable IS 'This is my table.';
Some more examples:
COMMENT ON DATABASE my_database IS 'Development Database'; COMMENT ON INDEX my_index IS 'Enforces uniqueness on employee id'; COMMENT ON RULE my_rule IS 'Logs UPDATES of employee records'; COMMENT ON SEQUENCE my_sequence IS 'Used to generate primary keys'; COMMENT ON TABLE my_table IS 'Employee Information'; COMMENT ON TYPE my_type IS 'Complex Number support'; COMMENT ON VIEW my_view IS 'View of departmental costs'; COMMENT ON COLUMN my_table.my_field IS 'Employee ID number'; COMMENT ON AGGREGATE my_aggregate (double precision) IS 'Computes sample variance'; COMMENT ON FUNCTION my_function (timestamp) IS 'Returns Roman Numeral'; COMMENT ON OPERATOR ^ (text, text) IS 'Performs intersection of two text'; COMMENT ON TRIGGER my_trigger ON my_table IS 'Used for R.I.';