aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2002-12-06 03:28:34 +0000
committerBruce Momjian <bruce@momjian.us>2002-12-06 03:28:34 +0000
commit853153ca6dfdf2bdf6ce800216de75b2fefbb4f1 (patch)
treea9911b35cf84db7bc101dc97a5e788bc3484f69c /doc/src
parent36580c8e2112e808f5847c4021fabe458096b134 (diff)
downloadpostgresql-853153ca6dfdf2bdf6ce800216de75b2fefbb4f1.tar.gz
postgresql-853153ca6dfdf2bdf6ce800216de75b2fefbb4f1.zip
ALTER DOMAIN .. SET / DROP NOT NULL
ALTER DOMAIN .. SET / DROP DEFAULT ALTER DOMAIN .. ADD / DROP CONSTRAINT New files: - doc/src/sgml/ref/alter_domain.sgml Rod Taylor
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/ref/allfiles.sgml3
-rw-r--r--doc/src/sgml/ref/alter_domain.sgml237
-rw-r--r--doc/src/sgml/reference.sgml3
3 files changed, 241 insertions, 2 deletions
diff --git a/doc/src/sgml/ref/allfiles.sgml b/doc/src/sgml/ref/allfiles.sgml
index bd8c3e71f1f..9a06b19d4ee 100644
--- a/doc/src/sgml/ref/allfiles.sgml
+++ b/doc/src/sgml/ref/allfiles.sgml
@@ -1,5 +1,5 @@
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/allfiles.sgml,v 1.49 2002/09/07 16:49:50 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/allfiles.sgml,v 1.50 2002/12/06 03:28:27 momjian Exp $
PostgreSQL documentation
Complete list of usable sgml source files in this directory.
-->
@@ -38,6 +38,7 @@ Complete list of usable sgml source files in this directory.
<!-- SQL commands -->
<!entity abort system "abort.sgml">
<!entity alterDatabase system "alter_database.sgml">
+<!entity alterDomain system "alter_domain.sgml">
<!entity alterGroup system "alter_group.sgml">
<!entity alterTable system "alter_table.sgml">
<!entity alterTrigger system "alter_trigger.sgml">
diff --git a/doc/src/sgml/ref/alter_domain.sgml b/doc/src/sgml/ref/alter_domain.sgml
new file mode 100644
index 00000000000..8c26e01706f
--- /dev/null
+++ b/doc/src/sgml/ref/alter_domain.sgml
@@ -0,0 +1,237 @@
+<!--
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_domain.sgml,v 1.1 2002/12/06 03:28:27 momjian Exp $
+PostgreSQL documentation
+-->
+
+<refentry id="SQL-ALTERDOMAIN">
+ <refmeta>
+ <refentrytitle id="sql-alterdomain-title">ALTER DOMAIN</refentrytitle>
+ <refmiscinfo>SQL - Language Statements</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>
+ ALTER DOMAIN
+ </refname>
+ <refpurpose>
+ change the definition of a table
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <refsynopsisdivinfo>
+ <date>2002-11-27</date>
+ </refsynopsisdivinfo>
+ <synopsis>
+ALTER DOMAIN <replaceable class="PARAMETER">domain</replaceable>
+ { SET DEFAULT <replaceable class="PARAMETER">value</replaceable> | DROP DEFAULT }
+ALTER DOMAIN <replaceable class="PARAMETER">domain</replaceable>
+ { SET | DROP } NOT NULL
+ALTER DOMAIN <replaceable class="PARAMETER">domain</replaceable>
+ ADD <replaceable class="PARAMETER">domain_constraint</replaceable>
+ALTER DOMAIN <replaceable class="PARAMETER">domain</replaceable>
+ DROP CONSTRAINT <replaceable class="PARAMETER">constraint_name</replaceable> [ RESTRICT | CASCADE ]
+ </synopsis>
+
+ <refsect2 id="R2-SQL-ALTERDOMAIN-1">
+ <refsect2info>
+ <date>2002-11-27</date>
+ </refsect2info>
+ <title>
+ Inputs
+ </title>
+ <para>
+ <variablelist>
+
+ <varlistentry>
+ <term><replaceable class="PARAMETER"> domain </replaceable></term>
+ <listitem>
+ <para>
+ The name (possibly schema-qualified) of an existing domain to
+ alter.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><replaceable class="PARAMETER"> domain_constraint </replaceable></term>
+ <listitem>
+ <para>
+ New domain constraint for the domain.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><replaceable class="PARAMETER"> constraint_name </replaceable></term>
+ <listitem>
+ <para>
+ Name of an existing constraint to drop.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>CASCADE</term>
+ <listitem>
+ <para>
+ Automatically drop objects that depend constraint.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>RESTRICT</term>
+ <listitem>
+ <para>
+ Refuse to drop the constraint if there are any dependent
+ objects. This is the default behavior.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </para>
+ </refsect2>
+
+ <refsect2 id="R2-SQL-ALTERDOMAIN-2">
+ <refsect2info>
+ <date>1998-04-15</date>
+ </refsect2info>
+ <title>
+ Outputs
+ </title>
+ <para>
+
+ <variablelist>
+ <varlistentry>
+ <term><computeroutput>ALTER DOMAIN</computeroutput></term>
+ <listitem>
+ <para>
+ Message returned from domain alteration.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>ERROR</computeroutput></term>
+ <listitem>
+ <para>
+ Message returned if domain is not available.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </refsect2>
+ </refsynopsisdiv>
+
+ <refsect1 id="R1-SQL-ALTERDOMAIN-1">
+ <refsect1info>
+ <date>2002-11-27</date>
+ </refsect1info>
+ <title>
+ Description
+ </title>
+ <para>
+ <command>ALTER DOMAIN</command> changes the definition of an existing domain.
+ There are several sub-forms:
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SET/DROP DEFAULT</term>
+ <listitem>
+ <para>
+ These forms set or remove the default value for a column. Note
+ that defaults only apply to subsequent <command>INSERT</command>
+ commands; they do not cause rows already in a table using the domain.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>SET/DROP NOT NULL</term>
+ <listitem>
+ <para>
+ These forms change whether a domain is marked to allow NULL
+ values or to reject NULL values. You may only <literal>SET NOT NULL</>
+ when the tables using the domain contain no null values in the domain
+ based column.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ADD <replaceable class="PARAMETER">domain_constraint</replaceable></term>
+ <listitem>
+ <para>
+ This form adds a new constraint to a table using the same syntax as
+ <xref linkend="SQL-CREATEDOMAIN" endterm="SQL-CREATEDOMAIN-TITLE">.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>DROP CONSTRAINT</term>
+ <listitem>
+ <para>
+ This form drops constraints on a domain.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ <para>
+ You must own the domain to use <command>ALTER DOMAIN</>; except for
+ <command>ALTER TABLE OWNER</>, which may only be executed by a superuser.
+ </para>
+ </refsect1>
+
+ <refsect1 id="R1-SQL-ALTERDOMAIN-2">
+ <title>
+ Usage
+ </title>
+ <para>
+ To add a NOT NULL constraint to a column:
+ <programlisting>
+ALTER DOMAIN zipcode SET NOT NULL;
+ </programlisting>
+ To remove a NOT NULL constraint from a column:
+ <programlisting>
+ALTER DOMAIN zipcode DROP NOT NULL;
+ </programlisting>
+ </para>
+
+ <para>
+ To add a check constraint to a table:
+ <programlisting>
+ALTER DOMAIN zipcode ADD CONSTRAINT zipchk CHECK (char_length(VALUE) = 5);
+ </programlisting>
+ </para>
+
+ <para>
+ To remove a check constraint from a table and all its children:
+ <programlisting>
+ALTER DOMAIN zipcode DROP CONSTRAINT zipchk;
+ </programlisting>
+ </para>
+ </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:
+-->
diff --git a/doc/src/sgml/reference.sgml b/doc/src/sgml/reference.sgml
index 247ce8d8ce0..8709343c3c1 100644
--- a/doc/src/sgml/reference.sgml
+++ b/doc/src/sgml/reference.sgml
@@ -1,5 +1,5 @@
<!-- reference.sgml
-$Header: /cvsroot/pgsql/doc/src/sgml/reference.sgml,v 1.38 2002/09/08 02:33:08 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/reference.sgml,v 1.39 2002/12/06 03:28:27 momjian Exp $
PostgreSQL Reference Manual
-->
@@ -47,6 +47,7 @@ PostgreSQL Reference Manual
&abort;
&alterDatabase;
+ &alterDomain;
&alterGroup;
&alterTable;
&alterTrigger;