mirror of
https://github.com/postgres/postgres.git
synced 2025-12-18 05:01:01 +03:00
Back out domain patch until it works properly.
This commit is contained in:
@@ -1,231 +0,0 @@
|
||||
<!--
|
||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_domain.sgml,v 1.1 2002/03/06 20:34:44 momjian Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
<refentry id="SQL-CREATEDOMAIN">
|
||||
<refmeta>
|
||||
<refentrytitle id="sql-createdomian-title">
|
||||
CREATE DOMAIN
|
||||
</refentrytitle>
|
||||
<refmiscinfo>SQL - Language Statements</refmiscinfo>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>
|
||||
CREATE DOMAIN
|
||||
</refname>
|
||||
<refpurpose>
|
||||
define a new domain
|
||||
</refpurpose>
|
||||
</refnamediv>
|
||||
<refsynopsisdiv>
|
||||
<refsynopsisdivinfo>
|
||||
<date>2002-02-24</date>
|
||||
</refsynopsisdivinfo>
|
||||
<synopsis>
|
||||
CREATE DOMAIN <replaceable class="parameter">domainname</replaceable> <replaceable class="parameter">data_type</replaceable> [ DEFAULT <replaceable>default_expr</> ] [ <replaceable class="PARAMETER">column_constraint</replaceable> [, ... ] ]
|
||||
[ CONSTRAINT <replaceable class="PARAMETER">constraint_name</replaceable> ]
|
||||
{ NOT NULL | NULL <!-- | UNIQUE | PRIMARY KEY |
|
||||
CHECK (<replaceable class="PARAMETER">expression</replaceable>) |
|
||||
REFERENCES <replaceable class="PARAMETER">reftable</replaceable> [ ( <replaceable class="PARAMETER">refcolumn</replaceable> ) ] [ MATCH FULL | MATCH PARTIAL ]
|
||||
[ ON DELETE <replaceable class="parameter">action</replaceable> ] [ ON UPDATE <replaceable class="parameter">action</replaceable> ] --> }
|
||||
<!-- [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] -->
|
||||
</synopsis>
|
||||
|
||||
<refsect2 id="R2-SQL-CREATEDOMAIN-1">
|
||||
<refsect2info>
|
||||
<date>2002-02-24</date>
|
||||
</refsect2info>
|
||||
<title>
|
||||
Parameters
|
||||
</title>
|
||||
<para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><replaceable class="parameter">domainname</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name of a domain to be created.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><replaceable class="PARAMETER">data_type</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The data type of the domain. This may include array specifiers.
|
||||
Refer to the <citetitle>User's Guide</citetitle> for further
|
||||
information about data types and arrays.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>DEFAULT
|
||||
<replaceable>default_expr</replaceable></literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>DEFAULT</> clause assigns a default data value for
|
||||
the column whose column definition it appears within. The value
|
||||
is any variable-free expression (subselects and cross-references
|
||||
to other columns in the current table are not allowed). The
|
||||
data type of the default expression must match the data type of the
|
||||
domain.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The default expression will be used in any insert operation that
|
||||
does not specify a value for the domain. If there is no default
|
||||
for a domain, then the default is NULL.
|
||||
</para>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
The default of a column will be tested before that of the domain.
|
||||
</para>
|
||||
</note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>CONSTRAINT <replaceable class="PARAMETER">constraint_name</replaceable></literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
An optional name for a domain. If not specified,
|
||||
the system generates a name.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>NOT NULL</></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The column is not allowed to contain NULL values. This is
|
||||
equivalent to the column constraint <literal>CHECK (<replaceable
|
||||
class="PARAMETER">column</replaceable> NOT NULL)</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>NULL</></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The column is allowed to contain NULL values. This is the default.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This clause is only available for compatibility with
|
||||
non-standard SQL databases. Its use is discouraged in new
|
||||
applications.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect2>
|
||||
|
||||
<refsect2 id="R2-SQL-CREATEDOMAIN-2">
|
||||
<refsect2info>
|
||||
<date>2002-02-24</date>
|
||||
</refsect2info>
|
||||
<title>
|
||||
Outputs
|
||||
</title>
|
||||
<para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><computeroutput>
|
||||
CREATE DOMAIN
|
||||
</computeroutput></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Message returned if the domain is successfully created.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect2>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1 id="R1-SQL-CREATEDOMAIN-1">
|
||||
<refsect1info>
|
||||
<date>2002-02-24</date>
|
||||
</refsect1info>
|
||||
<title>
|
||||
Description
|
||||
</title>
|
||||
|
||||
<para>
|
||||
<command>CREATE DOMAIN</command> allows the user to register a new user data
|
||||
domain with PostgreSQL for use in the current data base. The
|
||||
user who defines a domain becomes its owner.
|
||||
<replaceable class="parameter">domainname</replaceable> is
|
||||
the name of the new type and must be unique within the
|
||||
types and domains defined for this database.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Domains are useful for abstracting common fields between tables into
|
||||
a single location for maintenance. An email address column may be used
|
||||
in several tables, all with the same properties. Define a domain and
|
||||
use that rather than setting up each tables constraints individually.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Examples</title>
|
||||
<para>
|
||||
This example creates the <type>country_code</type> data type and then uses the
|
||||
type in a table definition:
|
||||
<programlisting>
|
||||
CREATE DOMAIN country_code char(2) NOT NULL;
|
||||
CREATE TABLE countrylist (id INT4, country country_code);
|
||||
</programlisting>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id="SQL-CREATEDOMAIN-compatibility">
|
||||
<title>Compatibility</title>
|
||||
|
||||
<para>
|
||||
This <command>CREATE DOMAIN</command> command is a
|
||||
<productname>PostgreSQL</productname> extension. CHECK and FOREIGN KEY
|
||||
constraints are currently unsupported.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 id="SQL-CREATEDOMAIN-see-also">
|
||||
<title>See Also</title>
|
||||
|
||||
<simplelist type="inline">
|
||||
<member><xref linkend="sql-dropdomain"></member>
|
||||
<member><citetitle>PostgreSQL Programmer's Guide</citetitle></member>
|
||||
</simplelist>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:nil
|
||||
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:
|
||||
-->
|
||||
Reference in New Issue
Block a user