mirror of
https://github.com/postgres/postgres.git
synced 2025-12-21 05:21:08 +03:00
pg_relcheck is gone; CHECK, UNIQUE, PRIMARY KEY, and FOREIGN KEY constraints all have real live entries in pg_constraint. pg_depend exists, and RESTRICT/CASCADE options work on most kinds of DROP; however, pg_depend is not yet very well populated with dependencies. (Most of the ones that are present at this point just replace formerly hardwired associations, such as the implicit drop of a relation's pg_type entry when the relation is dropped.) Need to add more logic to create dependency entries, improve pg_dump to dump constraints in place of indexes and triggers, and add some regression tests.
215 lines
6.7 KiB
Plaintext
215 lines
6.7 KiB
Plaintext
<!--
|
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/comment.sgml,v 1.20 2002/07/12 18:43:12 tgl Exp $
|
|
PostgreSQL documentation
|
|
-->
|
|
|
|
<refentry id="SQL-COMMENT">
|
|
<refmeta>
|
|
<refentrytitle id="SQL-COMMENT-TITLE">COMMENT</refentrytitle>
|
|
<refmiscinfo>SQL - Language Statements</refmiscinfo>
|
|
</refmeta>
|
|
<refnamediv>
|
|
<refname>
|
|
COMMENT
|
|
</refname>
|
|
<refpurpose>
|
|
define or change the comment of an object
|
|
</refpurpose>
|
|
</refnamediv>
|
|
<refsynopsisdiv>
|
|
<refsynopsisdivinfo>
|
|
<date>1999-07-20</date>
|
|
</refsynopsisdivinfo>
|
|
<synopsis>
|
|
COMMENT ON
|
|
[
|
|
TABLE <replaceable class="PARAMETER">object_name</replaceable> |
|
|
COLUMN <replaceable class="PARAMETER">table_name</replaceable>.<replaceable class="PARAMETER">column_name</replaceable> |
|
|
AGGREGATE <replaceable class="PARAMETER">agg_name</replaceable> (<replaceable class="PARAMETER">agg_type</replaceable>) |
|
|
CONSTRAINT <replaceable class="PARAMETER">constraint_name</replaceable> ON <replaceable class="PARAMETER">table_name</replaceable> |
|
|
DATABASE <replaceable class="PARAMETER">object_name</replaceable> |
|
|
DOMAIN <replaceable class="PARAMETER">object_name</replaceable> |
|
|
FUNCTION <replaceable class="PARAMETER">func_name</replaceable> (<replaceable class="PARAMETER">arg1_type</replaceable>, <replaceable class="PARAMETER">arg2_type</replaceable>, ...) |
|
|
INDEX <replaceable class="PARAMETER">object_name</replaceable> |
|
|
OPERATOR <replaceable class="PARAMETER">op</replaceable> (<replaceable class="PARAMETER">leftoperand_type</replaceable>, <replaceable class="PARAMETER">rightoperand_type</replaceable>) |
|
|
RULE <replaceable class="PARAMETER">rule_name</replaceable> ON <replaceable class="PARAMETER">table_name</replaceable> |
|
|
SCHEMA <replaceable class="PARAMETER">object_name</replaceable> |
|
|
SEQUENCE <replaceable class="PARAMETER">object_name</replaceable> |
|
|
TRIGGER <replaceable class="PARAMETER">trigger_name</replaceable> ON <replaceable class="PARAMETER">table_name</replaceable> |
|
|
TYPE <replaceable class="PARAMETER">object_name</replaceable> |
|
|
VIEW <replaceable class="PARAMETER">object_name</replaceable>
|
|
] IS <replaceable class="PARAMETER">'text'</replaceable>
|
|
</synopsis>
|
|
|
|
<refsect2 id="R2-SQL-COMMENT-1">
|
|
<refsect2info>
|
|
<date>1999-10-25</date>
|
|
</refsect2info>
|
|
<title>
|
|
Inputs
|
|
</title>
|
|
<para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><replaceable class="PARAMETER">object_name,
|
|
table_name.column_name, agg_name, constraint_name, func_name, op, rule_name, trigger_name</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><replaceable class="PARAMETER">text</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The comment to add.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect2>
|
|
|
|
<refsect2 id="R2-SQL-COMMENT-2">
|
|
<refsect2info>
|
|
<date>1998-09-08</date>
|
|
</refsect2info>
|
|
<title>
|
|
Outputs
|
|
</title>
|
|
<para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><computeroutput>
|
|
COMMENT
|
|
</computeroutput></term>
|
|
<listitem>
|
|
<para>
|
|
Message returned if the table is successfully commented.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect2>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1 id="R1-SQL-COMMENT-1">
|
|
<refsect1info>
|
|
<date>1998-10-25</date>
|
|
</refsect1info>
|
|
<title>
|
|
Description
|
|
</title>
|
|
<para>
|
|
<command>COMMENT</command> stores a comment about a database object.
|
|
Comments can be
|
|
easily retrieved with <command>psql</command>'s
|
|
<command>\dd</command>, <command>\d+</command>, or <command>\l+</command>
|
|
commands. Other user interfaces to retrieve comments can be built atop
|
|
the same built-in functions that <command>psql</command> uses, namely
|
|
<function>obj_description()</> and <function>col_description()</>.
|
|
</para>
|
|
|
|
<para>
|
|
To modify a comment, issue a new <command>COMMENT</> command for the
|
|
same object. Only one comment string is stored for each object.
|
|
To remove a comment, write <literal>NULL</literal> in place of the text
|
|
string.
|
|
Comments are automatically dropped when the object is dropped.
|
|
</para>
|
|
|
|
<note>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</note>
|
|
</refsect1>
|
|
|
|
<refsect1 id="R1-SQL-COMMENT-2">
|
|
<title>
|
|
Usage
|
|
</title>
|
|
<para>
|
|
Attach a comment to the table <literal>mytable</literal>:
|
|
|
|
<programlisting>
|
|
COMMENT ON TABLE mytable IS 'This is my table.';
|
|
</programlisting>
|
|
|
|
Remove it again:
|
|
|
|
<programlisting>
|
|
COMMENT ON TABLE mytable IS NULL;
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
Some more examples:
|
|
|
|
<programlisting>
|
|
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';
|
|
</programlisting>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 id="R1-SQL-COMMENT-3">
|
|
<title>
|
|
Compatibility
|
|
</title>
|
|
|
|
<refsect2 id="R2-SQL-COMMENT-4">
|
|
<refsect2info>
|
|
<date>1998-09-08</date>
|
|
</refsect2info>
|
|
<title>
|
|
SQL92
|
|
</title>
|
|
<para>
|
|
There is no <command>COMMENT</command> in <acronym>SQL92</acronym>.
|
|
</para>
|
|
</refsect2>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"../reference.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:"/usr/lib/sgml/catalog"
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
-->
|