Search Postgresql Archives

Re: Unintuitive behavior regarding inheritance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux