there's a paragraph in the ALTER TABLE reference page that reads:

DROP CONSTRAINT

    This form drops constraints on a table. Currently, constraints on tables
    are not required to have unique names, so there may be more than one
    constraint matching the specified name. All matching constraints will be
    dropped.

To my knowledge, it is no longer possible to create constraints with the
same name for the same relation. When you create a constraint and specify
the same name explictly, an error is raised. Implicit constraint creation
won't choose an existing name either and up to now you could not rename a
constraint. Renaming works with the patch I sent in a few hours ago but this
patch as well won't allow constraints with identical names on the same
relation.

The attached patch thus removes the note in the docs.

Joachim Wieland
This commit is contained in:
Bruce Momjian 2005-12-08 21:35:36 +00:00
parent c03aa1f9c9
commit 04db9d25d1
1 changed files with 2 additions and 5 deletions

View File

@ -1,5 +1,5 @@
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_table.sgml,v 1.81 2005/08/24 17:24:19 tgl Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_table.sgml,v 1.82 2005/12/08 21:35:36 momjian Exp $
PostgreSQL documentation
-->
@ -183,10 +183,7 @@ where <replaceable class="PARAMETER">action</replaceable> is one of:
<term><literal>DROP CONSTRAINT</literal></term>
<listitem>
<para>
This form drops constraints on a table.
Currently, constraints on tables are not required to have unique
names, so there may be more than one constraint matching the specified
name. All matching constraints will be dropped.
This form drops the specified constraint on a table.
</para>
</listitem>
</varlistentry>