Re: Unintuitive behavior regarding inheritance

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Chris Travers <chris(dot)travers(at)gmail(dot)com>
Cc: Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Unintuitive behavior regarding inheritance
Date: 2011-07-09 13:09:27
Message-ID: 1310216968.2101.40.camel@laptop
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sat, 2011-07-09 at 05:59 -0700, Chris Travers wrote:
> Hi all;
>
> I started trying to use table partitioning to handle a rather odd case
> in the software I am working on. I ran into an issue (one I can
> correct in my code) that strikes me as extremely unintuitive. I
> figured I would report it here as behavior I would like to see change.
>
> The basic problem is that while nearly all table contraints are
> inherited, unique constraints are not. This means that primary keys
> and so forth end up having to be redefined on all child tables
> explicitly as part of the table creation process. This is
> sufficiently unintuitive that as a result I am having to go back and
> amend contributions of people far more knowledgeable on this than I
> am.
>
> It would be really helpful in the future if unique constraints and
> primary keys were inherited.
>
> At least I can adjust code, but this is a pretty big gotcha which
> could go unnoticed until you have duplicates for primary key fields in
> specific child tables.
>

To have a primary key or a unique key on an partitioned table, it would
mean that we should be able to have one index on multiple tables.
Because primary key and unique constraints are enforced with an index.
That's not something easy to do, and I guess it would make the index
bigger, which isn't performance savvy.

--
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Chris Travers 2011-07-09 13:21:52 Re: Unintuitive behavior regarding inheritance
Previous Message Chris Travers 2011-07-09 12:59:49 Unintuitive behavior regarding inheritance