How to use a cross column exclude constraint

From: awolchute(at)tutanota(dot)com
To: Pgsql Novice <pgsql-novice(at)lists(dot)postgresql(dot)org>
Subject: How to use a cross column exclude constraint
Date: 2022-08-21 19:45:17
Message-ID: NA0w1JZ--J-2@tutanota.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice


Hi All,

Schema:
CREATE TABLE record ( id uuid primary key default ..., ...);CREATE TABLE record_pointer ( id uuid primary key default ..., record_a_id uuid not null references record (id), record_b_id uuid not null references record (id), ...);

I am trying to create an exclude constraint to make both record_a_id and record_b_id unique table wide, so that each row from "record" can ever be referenced once in "record_pointers". 

Eg. if I add a record_pointer row that has "this-is-random-uuid" as record_a_id, the value "this-is-random-uuid" can never be in record_a_id or record_b_id in any other row.

Thank you in advance!

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message chidamparam muthusamy 2022-08-23 14:47:46 Re: How to use a cross column exclude constraint
Previous Message Steve T 2022-08-14 06:17:25 Re: database encoding migration from a pg_dumpall set