Re: how to rename an unnamed uniqueness constraint? - Mailing list pgsql-novice

From Stuart Bishop
Subject Re: how to rename an unnamed uniqueness constraint?
Date
Msg-id 43057EEB.9010904@stuartbishop.net
Whole thread Raw
In response to how to rename an unnamed uniqueness constraint?  (Oliver Kullmann <O.Kullmann@swansea.ac.uk>)
List pgsql-novice
Oliver Kullmann wrote:
> Hello,
>
> I have a table created with
>
> CREATE TABLE Current_academic_year
> (
>     year_id        INT    REFERENCES Academic_years,
>     CONSTRAINT year_id CHECK(year_id IS NOT NULL),
>     active        BOOL    NOT NULL,
>
>     UNIQUE(year_id),
>     UNIQUE(active)
> )
> ;
>
> Now I need to drop the constraint "UNIQUE(active)".
> I tried variations of
>
> ALTER TABLE current_academic_year DROP CONSTRAINT "???"

You didn't name your constraints, so PostgreSQL named them for you. They are
probably called $1 and $2. Do "\d Current_academic_year" to see the
constraints and their names. You should see something like:
   "$1" unique, btree (year_id)
   "$2" unique, btree (active)

Once you know the name of the constraint, you can drop it:

ALTER TABLE current_academic_year DROP CONSTRAINT "$2";

Note that you need to put quotes around the automatically generated
constraint names, because they are not valid identifiers.



--
Stuart Bishop <stuart@stuartbishop.net>
http://www.stuartbishop.net/

Attachment

pgsql-novice by date:

Previous
From: Oliver Kullmann
Date:
Subject: how to rename an unnamed uniqueness constraint?
Next
From: Oliver Elphick
Date:
Subject: Re: Tables are not being updated properly through Trigger