Re: delete cascade not working

Поиск
Список
Период
Сортировка
От Joshua Tolley
Тема Re: delete cascade not working
Дата
Msg-id 20090425205705.GC15830@eddie
обсуждение исходный текст
Ответ на Re: delete cascade not working  (Kenneth Tilton <kentilton@gmail.com>)
Список pgsql-general
On Sat, Apr 25, 2009 at 04:21:06PM -0400, Kenneth Tilton wrote:
> But I am "inheriting" from the parent, so everything about the parent
> should be true for me unless overridden. I mean in the usual sense of
> inherit I know from OO.

This is from the current docs
(http://www.postgresql.org/docs/current/static/ddl-inherit.html):

"All check constraints and not-null constraints on a parent table are
automatically inherited by its children. Other types of constraints
(unique, primary key, and foreign key constraints) are not inherited."

Although it's easy to imagine otherwise, really inheritance structures
are made up of individual tables, and for the most part behave no
differently from any other tables. Indexes, constraints, etc. on the
parent table do not apply to data in child tables. The documentation
snippet above really means that when a new child table is created, check
constraints and not null constraints are automatically created to
correspond with those on the parent. Don't let yourself start thinking
inheritance in PostgreSQL behaves too similarly to inheritance in, say,
most programming language. Inheritance works nicely for partitioning;
most people that try to apply table inheritance to the same sorts of
scenarios where they'd apply inheritance in a programming language come
to find that it's more of a pain that it's worth.

- Josh / eggyknap

Вложения

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

Предыдущее
От: Kenneth Tilton
Дата:
Сообщение: Re: delete cascade not working
Следующее
От: Wang Kuo-Ying
Дата:
Сообщение: PostgreSQL vacuumdb question