Skip site navigation (1) Skip section navigation (2)

Re: Need indexes on inherited tables?

From: "Phil Endecott" <spam_from_postgresql_sql(at)chezphil(dot)org>
To: Franco Bruno Borghesi <franco(at)akyasociados(dot)com(dot)ar>,pgsql-sql(at)postgresql(dot)org
Subject: Re: Need indexes on inherited tables?
Date: 2004-06-26 22:30:26
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-sql
I asked if derived tables use primary key indexes generated in the base tables that they inherit from.

Franco Bruno Borghesi replied:
> [the derived table] is not inheriting any indexes, neither the
> primary key constraint.

OK, thanks!  I had come to the conclusion that it was not using the index, but I'm really surprised to hear that the primary key constraint that I define in a base table is not inherited.  Are any constraints inherited?  What happens if I declare a single-column primary key?  What if I declare a "not null" constraint or a "check" constraint in a base table?

Having to replicate the constraints and indexes for each derived table is a pain - lots of error-prone typing - but there is a more serious problem: how can I ensure that these keys are unique across all of the derived tables?  (i.e. if T1 and T2 inherit from B, and B's primary key is (id,xx), then I want there to be at most one row in (T1 union T2) that has any value of (id,xx).)

Is this a possible area for future enhancements?




In response to


pgsql-sql by date

Next:From: George SiganosDate: 2004-06-26 23:06:15
Subject: Re: Question about a CIDR based query
Previous:From: Franco Bruno BorghesiDate: 2004-06-26 21:06:20
Subject: Re: Need indexes on inherited tables?

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group