COMMENT

Name

COMMENT  --  Définit ou change le commentaire d'un objet.

Synopsis

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'
  

Entrées

object_name, table_name, column_name, agg_name, func_name, op, trigger_name

Le nom de l'objet à commenter.

text

Le commentaire à ajouter.

Sorties

COMMENT

Message renvoyé si la table est commentée avec succès.

Description

COMMENT contient un commentaire sur un objet de la base. Les commentaires peuvent être facilement retrouvés avec les commandes \dd, \d+, ou \l+ de psql. D'autres interfaces clientes pour retrouver les commentaires peuvent être construites avec les mêmes fonctions natives que psql utilise, nommément obj_description() et col_description().

Pour modifier un commentaire, exécutez une nouvelle commande COMMENT pour le même objet. Une seule chaîne de commentaire est conservée pour chaque objet. Pour supprimer un commentaire, écrivez NULL à la place de la chaîne texte. Les commentaires sont automatiquement supprimés quand l'objet est supprimé.

Il faudrait noter qu'il n'y a actuellement aucun mécanisme de sécurité pour les commentaires : n'importe quel utilisateur connecté à la base peut voir tous les commentaires associés aux objets de cette base (bien que seuls les superutilisateurs puissent modifier les commentaires des objets dont ils ne sont pas propriétaires). Donc, ne pas mettre d'information critique pour la sécurité dans les commentaires.

Utilisation

Commenter la table mytable :

COMMENT ON mytable IS 'This is my table.';
   

D'autres exemples :

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.';
   

Compatibilité

SQL92

Il n'y a pas de COMMENT en SQL92.