Re: Indexes and Inheritance

Поиск
Список
Период
Сортировка
От brian
Тема Re: Indexes and Inheritance
Дата
Msg-id 45799BC8.2050601@zijn-digital.com
обсуждение исходный текст
Ответ на Indexes and Inheritance  (Keary Suska <hierophant@pcisys.net>)
Список pgsql-general
Keary Suska wrote:
> Thanks to Erik, Jeff, & Richard for their help.
>
> I have a further inheritance question: do child tables inherit the indexes
> created on parent columns, or do they need to be specified separately for
> each child table? I.e., created via CREATE INDEX.
>
> I assume at least that the implicit index created by a primary key would
> inherit, but I don't know if that assumption is safe.
>

In addition to what the others have replied, this is how i was told to
handle this (from this list):

-- create your parent table

CREATE TABLE parent_table (

    id    SERIAL PRIMARY KEY,
    this    VARCHAR(64) NOT NULL,
    that    VARCHAR(4) NOT NULL
);

-- create your child table(s)

CREATE TABLE child_table (

    foo    VARCHAR(64) NOT NULL,
    bar    VARCHAR(4) NOT NULL

) INHERITS (parent_table);

-- set the child table's id (from the parent) to take
-- the next value of the parent's SERIAL

ALTER TABLE child_table ALTER COLUMN id SET DEFAULT
nextval('parent_table_id_seq');

-- now create an index on that (so that you have as many indexes
-- on the parent's SERIAL as child tables)

CREATE UNIQUE INDEX child_table_pk ON child_table (id);

Do those last two for each child table and then make sure that you
perform your INSERTs on the child table(s).

brian


В списке pgsql-general по дате отправления:

Предыдущее
От: "Joshua D. Drake"
Дата:
Сообщение: Re: Male/female
Следующее
От: anuradha devi
Дата:
Сообщение: restoring pgdump.sql