Re: index not used with inherited tables

From: Sean Davis <sdavis2(at)mail(dot)nih(dot)gov>
To: Verena Ruff <lists(at)triosolutions(dot)at>, <pgsql-novice(at)postgresql(dot)org>
Subject: Re: index not used with inherited tables
Date: 2006-05-10 15:23:36
Message-ID: C0877DB8.B46D%sdavis2@mail.nih.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

On 5/10/06 9:04 AM, "Verena Ruff" <lists(at)triosolutions(dot)at> wrote:

> Hi,
>
> there is a table person, which has some child tables. the definition
> (part of):
>
> CREATE TABLE person
> (
> pers_id serial NOT NULL,
> -- some other fields --
> CONSTRAINT person_pk PRIMARY KEY (pers_id)
> )
>
> one of these child tables is mitarbeiter:
> CREATE TABLE mitarbeiter
> (
> -- some fields --
> CONSTRAINT pers_id_pk_mitarbeiter PRIMARY KEY (pers_id)
> ) INHERITS (person)
>
> as you see the inherited column pers_id is used as primary key in the
> child table as well. if I do
> EXPLAIN SELECT * FROM mitarbeiter WHERE pers_id=7; I see that PostgreSQL
> does a seq scan on mitarbeiter instead of an index scan. There are some
> other child tables and it seems like in some cases the index is used, in
> others not, but I have no idea why.
>
> Any hints?

Hi, Verena. See here:

http://www.postgresql.org/docs/8.1/interactive/ddl-inherit.html

Notice the "Caveats" section at the bottom. Indexes are not inherited.

Sean

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Daniel T. Staal 2006-05-10 15:48:11 Vacuuming static tables.
Previous Message Sean Davis 2006-05-10 14:04:14 Re: error handling