⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comment.sgml

📁 PostgreSQL 8.1.4的源码 适用于Linux下的开源数据库系统
💻 SGML
字号:
<!--$PostgreSQL: pgsql/doc/src/sgml/ref/comment.sgml,v 1.29 2005/06/08 21:15:27 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> <indexterm zone="sql-comment">  <primary>COMMENT</primary> </indexterm> <refsynopsisdiv><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>) |  CAST (<replaceable>sourcetype</replaceable> AS <replaceable>targettype</replaceable>) |  CONSTRAINT <replaceable class="PARAMETER">constraint_name</replaceable> ON <replaceable class="PARAMETER">table_name</replaceable> |  CONVERSION <replaceable class="PARAMETER">object_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">argmode</replaceable> ] [ <replaceable class="parameter">argname</replaceable> ] <replaceable class="parameter">argtype</replaceable> [, ...] ] ) |  INDEX <replaceable class="PARAMETER">object_name</replaceable> |  LARGE OBJECT <replaceable class="PARAMETER">large_object_oid</replaceable> |  OPERATOR <replaceable class="PARAMETER">op</replaceable> (<replaceable class="PARAMETER">leftoperand_type</replaceable>, <replaceable class="PARAMETER">rightoperand_type</replaceable>) |  OPERATOR CLASS <replaceable class="PARAMETER">object_name</replaceable> USING <replaceable class="parameter">index_method</replaceable> |  [ PROCEDURAL ] LANGUAGE <replaceable class="PARAMETER">object_name</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> </refsynopsisdiv> <refsect1>  <title>Description</title>  <para>   <command>COMMENT</command> stores a comment about a database object.  </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>  <para>    Comments can be    easily retrieved with the <application>psql</application> commands    <command>\dd</command>, <command>\d+</command>, and <command>\l+</command>.    Other user interfaces to retrieve comments can be built atop    the same built-in functions that <application>psql</application> uses, namely    <function>obj_description</> and <function>col_description</>    (see <xref linkend="functions-info-comment-table">).  </para> </refsect1> <refsect1>  <title>Parameters</title>  <variablelist>   <varlistentry>    <term><replaceable class="parameter">object_name</replaceable></term>    <term><replaceable class="parameter">table_name.column_name</replaceable></term>    <term><replaceable class="parameter">agg_name</replaceable></term>    <term><replaceable class="parameter">constraint_name</replaceable></term>    <term><replaceable class="parameter">func_name</replaceable></term>    <term><replaceable class="parameter">op</replaceable></term>    <term><replaceable class="parameter">rule_name</replaceable></term>    <term><replaceable class="parameter">trigger_name</replaceable></term>    <listitem>     <para>      The name of the object to be commented.  Names of tables,      aggregates, domains, functions, indexes, operators, operator classes,      sequences, types, and views may be schema-qualified.     </para>    </listitem>   </varlistentry>   <varlistentry>    <term><replaceable class="parameter">agg_type</replaceable></term>    <listitem>     <para>      The argument data type of the aggregate function, or      <literal>*</literal> if the function accepts any data type.     </para>    </listitem>   </varlistentry>      <varlistentry>     <term><replaceable>sourcetype</replaceable></term>     <listitem>      <para>       The name of the source data type of the cast.      </para>     </listitem>    </varlistentry>    <varlistentry>     <term><replaceable>targettype</replaceable></term>     <listitem>      <para>       The name of the target data type of the cast.      </para>     </listitem>    </varlistentry>   <varlistentry>    <term><replaceable class="parameter">argmode</replaceable></term>    <listitem>     <para>      The mode of a function argument: either <literal>IN</>, <literal>OUT</>,      or <literal>INOUT</>.  If omitted, the default is <literal>IN</>.      Note that <command>COMMENT ON FUNCTION</command> does not actually pay      any attention to <literal>OUT</> arguments, since only the input      arguments are needed to determine the function's identity.      So it is sufficient to list the <literal>IN</> and <literal>INOUT</>      arguments.     </para>    </listitem>   </varlistentry>   <varlistentry>    <term><replaceable class="parameter">argname</replaceable></term>    <listitem>     <para>      The name of a function argument.      Note that <command>COMMENT ON FUNCTION</command> does not actually pay      any attention to argument names, since only the argument data      types are needed to determine the function's identity.     </para>    </listitem>   </varlistentry>   <varlistentry>    <term><replaceable class="parameter">argtype</replaceable></term>    <listitem>     <para>      The data type(s) of the function's arguments (optionally       schema-qualified), if any.     </para>    </listitem>   </varlistentry>   <varlistentry>    <term><replaceable class="parameter">large_object_oid</replaceable></term>    <listitem>     <para>      The OID of the large object.     </para>    </listitem>   </varlistentry>    <varlistentry>     <term><literal>PROCEDURAL</literal></term>     <listitem>      <para>       This is a noise word.      </para>     </listitem>    </varlistentry>   <varlistentry>    <term><replaceable class="parameter">text</replaceable></term>    <listitem>     <para>      The new comment, written as a string literal; or <literal>NULL</>      to drop the comment.     </para>    </listitem>   </varlistentry>      </variablelist> </refsect1> <refsect1>  <title>Notes</title>  <para>   A comment for a database can only be created in that database,   and will only be visible in that database, not in other databases.  </para>  <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> </refsect1> <refsect1>  <title>Examples</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 CAST (text AS int4) IS 'Allow casts from text to int4';COMMENT ON COLUMN my_table.my_column IS 'Employee ID number';COMMENT ON CONVERSION my_conv IS 'Conversion to UTF8';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 LANGUAGE plpython IS 'Python support for stored procedures';COMMENT ON LARGE OBJECT 346344 IS 'Planning document';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 OPERATOR CLASS int4ops USING btree IS '4 byte integer operators for btrees';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';</programlisting>  </para> </refsect1> <refsect1>  <title>Compatibility</title>  <para>   There is no <command>COMMENT</command> command in the SQL standard.  </para> </refsect1></refentry><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../reference.ced"sgml-exposed-tags:nilsgml-local-catalogs:"/usr/lib/sgml/catalog"sgml-local-ecat-files:nilEnd:-->

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -