Index: alter_table.sgml
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/alter_table.sgml,v
retrieving revision 1.24
diff -c -r1.24 alter_table.sgml
*** alter_table.sgml	2001/05/09 13:27:15	1.24
--- alter_table.sgml	2001/05/30 04:16:19
***************
*** 38,43 ****
--- 38,45 ----
      RENAME TO <replaceable class="PARAMETER">newtable</replaceable>
  ALTER TABLE <replaceable class="PARAMETER">table</replaceable>
      ADD <replaceable class="PARAMETER">table constraint definition</replaceable>
+ ALTER TABLE [ ONLY ] <replaceable class="PARAMETER">table</replaceable> 
+ 	DROP CONSTRAINT <replaceable class="PARAMETER">constraint</replaceable> { RESTRICT | CASCADE }
  ALTER TABLE <replaceable class="PARAMETER">table</replaceable>
  	OWNER TO <replaceable class="PARAMETER">new owner</replaceable> 
    </synopsis>
***************
*** 177,182 ****
--- 179,186 ----
     The ADD <replaceable class="PARAMETER">table constraint definition</replaceable> clause 
     adds a new constraint to the table using the same syntax as <xref
     linkend="SQL-CREATETABLE" endterm="SQL-CREATETABLE-title">. 
+    The DROP CONSTRAINT <replaceable class="PARAMETER">constraint</replaceable> clause 
+    drops all CHECK constraints on the table (and its children) that match <replaceable class="PARAMETER">constraint</replaceable>.
     The OWNER clause changes the owner of the table to the user <replaceable class="PARAMETER">
     new user</replaceable>.
    </para>
***************
*** 208,218 ****
  
     <para>
      In the current implementation, only FOREIGN KEY and CHECK constraints can
!     be added to a table.  To create or remove a unique constraint, create 
      a unique index (see <xref linkend="SQL-CREATEINDEX" 
      endterm="SQL-CREATEINDEX-title">).
     </para>
  
     <para>
      You must own the table in order to change it.
      Changing any  part  of  the schema of a system
--- 212,242 ----
  
     <para>
      In the current implementation, only FOREIGN KEY and CHECK constraints can
!     be added to a table.  To create a unique constraint, create 
      a unique index (see <xref linkend="SQL-CREATEINDEX" 
      endterm="SQL-CREATEINDEX-title">).
     </para>
  
+ 	<para>
+     Currently only CHECK constraints can be dropped from a table.  The RESTRICT
+ 	 keyword is required, although dependencies are not checked.  The CASCADE
+ 	 option is unsupported.  To remove a PRIMARY or UNIQUE constraint, drop the 
+ 	 relevant index using the <xref linkend="SQL-DROPINDEX" endterm="SQL-DROPINDEX-TITLE"> command.
+     To remove FOREIGN KEY constraints you need to recreate
+     and reload the table, using other parameters to the
+     <xref linkend="SQL-CREATETABLE" endterm="SQL-CREATETABLE-title">
+     command.
+    </para>
+    <para>
+     For example, to drop all constraints on a table <literal>distributors</literal>:
+     <programlisting>
+ CREATE TABLE temp AS SELECT * FROM distributors;
+ DROP TABLE distributors;
+ CREATE TABLE distributors AS SELECT * FROM temp;
+ DROP TABLE temp;
+     </programlisting>
+    </para>
+ 
     <para>
      You must own the table in order to change it.
      Changing any  part  of  the schema of a system
***************
*** 261,266 ****
--- 285,297 ----
    </para>
  
    <para> 
+    To remove a check constraint from a table and all its children:
+    <programlisting>
+ ALTER TABLE distributors DROP CONSTRAINT zipchk
+    </programlisting>
+   </para>
+ 
+   <para> 
     To add a foreign key constraint to a table:
     <programlisting>
  ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses(address) MATCH FULL
***************
*** 289,322 ****
       statement which are not yet directly supported by <productname>Postgres</productname>:
  
      <variablelist>
-      <varlistentry>
-       <term>
-        <synopsis>
- ALTER TABLE <replaceable class="PARAMETER">table</replaceable> DROP CONSTRAINT <replaceable class="PARAMETER">constraint</replaceable> { RESTRICT | CASCADE }
-       </synopsis>
-      </term>
-      <listitem>
-       <para>
-        Removes a table constraint (such as a check constraint,
-        unique constraint, or foreign key constraint). To 
-        remove a unique constraint, drop a unique index.
-        To remove other kinds of constraints you need to recreate
-        and reload the table, using other parameters to the
-        <xref linkend="SQL-CREATETABLE" endterm="SQL-CREATETABLE-title">
-        command.
-       </para>
-       <para>
-        For example, to drop any constraints on a table <literal>distributors</literal>:
-        <programlisting>
- CREATE TABLE temp AS SELECT * FROM distributors;
- DROP TABLE distributors;
- CREATE TABLE distributors AS SELECT * FROM temp;
- DROP TABLE temp;
-        </programlisting>
-       </para>
-      </listitem>
-     </varlistentry>
- 
      <varlistentry>
       <term>
        <synopsis>
--- 320,325 ----
