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.id
exists.
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 function
doing 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.
Thanks!
Patrick