From: | Raphael Bauduin <raphael(dot)bauduin(at)be(dot)easynet(dot)net> |
---|---|
To: | Artur Pietruk <arturp(at)plukwa(dot)pdi(dot)net> |
Cc: | Raphael Bauduin <raphael(at)be(dot)easynet(dot)net>, pgsql-admin(at)postgresql(dot)org |
Subject: | Re: CREATE TABLE AS ... |
Date: | 2002-07-24 08:14:17 |
Message-ID: | 20020724081417.GA7419@raphael |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Hi,
Thanks for the tips, but although the result is the same as a primary
key constraint, I'm not sure it will fit my needs as I want to use the
primary key in a foreign key constraint in another table. I made it with
a copy and it works fine.
Raph
On Tue, Jul 23, 2002 at 04:40:32PM +0200, Artur Pietruk wrote:
> On Tue, Jul 23, 2002 at 03:48:07PM +0200, Raphael Bauduin wrote:
> > Hi,
>
> Hello,
>
> > In a data model change, I wanted to use the "create table as select"
> > feature. However, I want that table to have a primary key defined, and
> > thus a field defined as NOT NULL. I didn't find a way to add a NOT NULL
> > constraint on a column of an existing table. If there isn't, what's the
> > best way to go? A COPY?
>
> Yes, it looks that you cannot add NOT NULL constraint. But check if
> this could work for you:
>
> == 8< ===
> ALTER TABLE your_table ADD CONSTRAINT my_constr1 CHECK (your_column IS NOT NULL UNIQUE);
> ALTER TABLE your_table ADD CONSTRAINT my_constr2 UNIQUE (your_column);
> == 8< ===
>
> It is not marked as "Primary Key", but it does the same job: checks
> that column is UNIQUE and NOT NULL.
>
> Best regards,
> --
> --- Artur Pietruk, arturp(at)plukwa(dot)net
From | Date | Subject | |
---|---|---|---|
Next Message | Gaetano Mendola | 2002-07-24 11:14:58 | Re: Postgres performance slowly gets worse over a month |
Previous Message | Bruce Momjian | 2002-07-24 01:50:45 | Re: Install Error during gmake (hba.c:885: storage size of `peercred' |