Re: Foreign key in composite values

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Vincent De Groote <vdg(dot)encelade(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Foreign key in composite values
Date: 2011-05-06 14:32:34
Message-ID: 10727.1304692354@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Vincent De Groote <vdg(dot)encelade(at)gmail(dot)com> writes:
> I have a composite type with 2 fields. I would like to check that one
> of these fields exists in another table.
> Foreign keys on a composite field does not seem to be supported.

Works for me, in 8.4 and up. Whether it's a good idea is a different
issue (I think it'll be pretty inefficient, compared to a multicolumn
primary/foreign key on native datatypes), but it works.

regression=# create type cx as (r float8, i float8);
CREATE TYPE
regression=# create table p (id cx primary key);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "p_pkey" for table "p"
CREATE TABLE
regression=# create table s (c cx references p);
CREATE TABLE

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andrew Sullivan 2011-05-06 14:52:53 Re: Bidirectional replication
Previous Message Mason S 2011-05-06 14:13:51 Re: dblink() from GridSQL