Re: error caused by FOREIGN KEY on composite type - Mailing list pgsql-general

From silly8888
Subject Re: error caused by FOREIGN KEY on composite type
Date
Msg-id 3c8f9f940911050413r57abdf5bh3f27b924e5eeec6b@mail.gmail.com
Whole thread Raw
In response to Re: error caused by FOREIGN KEY on composite type  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Wed, Nov 4, 2009 at 11:23 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> silly8888 <silly8888@gmail.com> writes:
>> create type mytype as (x integer, y integer);
>
>> create table foo(
>>     a mytype primary key,
>>     b integer
>> );
>
>> create table bar(
>>     a mytype references foo
>> );
>
> While that probably ought to work, is there a really good reason that
> you're not doing this with a conventional two-column primary key and
> foreign key?  The composite type is going to be exceedingly inefficient,
> not to mention not portable to other DBMSes.
>
>                        regards, tom lane
>

You are right, the two-column solution is probably better. The only
reason I posted here was to see if I hit a bug (and it seems that I
might have).

BTW the composite might offer some small benefits in this case, namely
when combined with user defined DOMAINs it can simplify CHECK
constraints a lot.

pgsql-general by date:

Previous
From: Zimm1
Date:
Subject: UPDATE over a db_link
Next
From: Howard Cole
Date:
Subject: Re: Postgres for mobile website?