[GENERAL] PG 9.1 - FK + Check constraint

Поиск
Список
Период
Сортировка
От Patrick B
Тема [GENERAL] PG 9.1 - FK + Check constraint
Дата
Msg-id CAJNY3ivqAzdUZGwHMq163tHXj13NKbyz_iSaRk2cVUqW=pUgnQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: [GENERAL] PG 9.1 - FK + Check constraint
Список pgsql-general

Hi guys!

The column ent_id bigint on table table1 refers to other tables.

if ent_id = 1 then = table2.id
if ent_id = 2 then = table3.id
else = no checks

I need a FK Constraint on table table1 checking if records on table2.id and table3.idexists.

I know that currently, CHECK expressions cannot contain subqueries nor refer to variables other than columns of the current row. Another solution would be to create an IMMUTABLE functiondoing the check and use that in a CHECK constraint [1]. However, I'm concern about doing this as I use replication slaves, where all my selects are ran in there. I'm worried about replication lag in this case.

Is there any other way to perform this? I'm using PG 9.1 for this.

[1] https://stackoverflow.com/questions/10135754/how-to-make-a-foreign-key-with-a-constraint-on-the-referenced-table-in-postgresq

Thanks!

Patrick

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

Предыдущее
От: vstuart
Дата:
Сообщение: [GENERAL] ~/.psqlrc file is ignored
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: [GENERAL] PG 9.1 - FK + Check constraint