Synopsis

Use the COMMENT statement to set, update, or remove a comment on a database object.

Syntax

comment_on ::= COMMENT ON 
               { ACCESS METHOD access_method_name
                 | AGGREGATE aggregate_name ( aggregate_signature )
                 | CAST ( source_type AS target_type )
                 | COLLATION object_name
                 | COLUMN relation_name . column_name
                 | CONSTRAINT constraint_name ON table_name
                 | CONSTRAINT constraint_name ON DOMAIN domain_name
                 | CONVERSION object_name
                 | DATABASE object_name
                 | DOMAIN object_name
                 | EXTENSION object_name
                 | EVENT TRIGGER object_name
                 | FOREIGN DATA WRAPPER object_name
                 | FOREIGN TABLE object_name
                 | FUNCTION subprogram_name ( [ subprogram_signature ] 
                   ) | INDEX object_name
                 | LARGE OBJECT large_object_oid
                 | MATERIALIZED VIEW object_name
                 | OPERATOR operator_name ( operator_signature )
                 | OPERATOR CLASS object_name USING index_method
                 | OPERATOR FAMILY object_name USING index_method
                 | POLICY policy_name ON table_name
                 | [ PROCEDURAL ] LANGUAGE object_name
                 | PROCEDURE subprogram_name ( 
                   [ subprogram_signature ] )
                 | PUBLICATION object_name
                 | ROLE object_name
                 | ROUTINE subprogram_name ( [ subprogram_signature ] 
                   ) | RULE rule_name ON table_name
                 | SCHEMA object_name
                 | SEQUENCE object_name
                 | SERVER object_name
                 | STATISTICS object_name
                 | SUBSCRIPTION object_name
                 | TABLE object_name
                 | TABLESPACE object_name
                 | TEXT SEARCH CONFIGURATION object_name
                 | TEXT SEARCH DICTIONARY object_name
                 | TEXT SEARCH PARSER object_name
                 | TEXT SEARCH TEMPLATE object_name
                 | TRIGGER trigger_name ON table_name
                 | TYPE object_name
                 | VIEW object_name } IS { text_literal | NULL }

comment_on

COMMENTONACCESSMETHODaccess_method_nameAGGREGATEaggregate_name(aggregate_signature)CAST(source_typeAStarget_type)COLLATIONobject_nameCOLUMNrelation_name.column_nameCONSTRAINTconstraint_nameONtable_nameCONSTRAINTconstraint_nameONDOMAINdomain_nameCONVERSIONobject_nameDATABASEobject_nameDOMAINobject_nameEXTENSIONobject_nameEVENTTRIGGERobject_nameFOREIGNDATAWRAPPERobject_nameFOREIGNTABLEobject_nameFUNCTIONsubprogram_name(subprogram_signature)INDEXobject_nameLARGEOBJECTlarge_object_oidMATERIALIZEDVIEWobject_nameOPERATORoperator_name(operator_signature)OPERATORCLASSobject_nameUSINGindex_methodOPERATORFAMILYobject_nameUSINGindex_methodPOLICYpolicy_nameONtable_namePROCEDURALLANGUAGEobject_namePROCEDUREsubprogram_name(subprogram_signature)PUBLICATIONobject_nameROLEobject_nameROUTINEsubprogram_name(subprogram_signature)RULErule_nameONtable_nameSCHEMAobject_nameSEQUENCEobject_nameSERVERobject_nameSTATISTICSobject_nameSUBSCRIPTIONobject_nameTABLEobject_nameTABLESPACEobject_nameTEXTSEARCHCONFIGURATIONobject_nameTEXTSEARCHDICTIONARYobject_nameTEXTSEARCHPARSERobject_nameTEXTSEARCHTEMPLATEobject_nameTRIGGERtrigger_nameONtable_nameTYPEobject_nameVIEWobject_nameIStext_literalNULL

Semantics

To remove a comment, set the value to NULL.

comment_on

COMMENT ON

Add or change a comment about a database object. To remove a comment, set the value to NULL.

aggregate_signature

Examples

Add a comment

COMMENT ON DATABASE postgres IS 'Default database';
COMMENT ON INDEX index_name IS 'Special index';

Remove a comment

COMMENT ON TABLE some_table IS NULL;