Re: Non inheritable check constraint

Поиск
Список
Период
Сортировка
От Clodoaldo Neto
Тема Re: Non inheritable check constraint
Дата
Msg-id CA+Z73LEz2oh8_DSWVNi8UEaUvqTSoht3YNpstt9mNy3JaJRNQw@mail.gmail.com
обсуждение исходный текст
Ответ на Non inheritable check constraint  (Clodoaldo Neto <clodoaldo.pinto.neto@gmail.com>)
Список pgsql-general
2012/3/5 Clodoaldo Neto <clodoaldo.pinto.neto@gmail.com>
I have gone through the issue of making a parent table not writable. After discussing it (1) I adopted the trigger solution. But I think that a trigger is just an invisible layer over the database model and so I'm naively proposing a new syntax to postgresql. It would inform that the check constraint is not inheritable:

create table t (c integer check NOT INHERITABLE (false));


It will be in 9.2:
  • Allow CHECK constraints to be declared NO INHERIT (Nikhil Sontakke, Alex Hunsaker)

    This makes them enforceable only on the parent table, not on child tables.

I don't know if it was already there when I asked but ! Thank You !

Clodoaldo

I found a model visible solution but it only prevents non null values from being inserted. Or only prevents all inserts if that column is not null:

create table tfk (c integer unique check(false));
create table t (c integer, foreign key (c) references tfk(c));

Regards, Clodoaldo

(1) http://stackoverflow.com/questions/9545783/how-to-prevent-inserts-in-a-table

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

Предыдущее
От: Pham Ngoc Hai
Дата:
Сообщение: Re: Postgresql segmentation fault at slot_deform_tuple
Следующее
От: Paulo Correia
Дата:
Сообщение: Re: Postgres 9.0 Streaming Replication and Load Balancing?