Re: ERROR: there is no unique constraint matching given keys for referenced table "audit_p"

From: Michael Lewis <mlewis(at)entrata(dot)com>
To: Shatamjeev Dewan <sdewan(at)nbsps(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: ERROR: there is no unique constraint matching given keys for referenced table "audit_p"
Date: 2019-11-18 17:57:18
Message-ID: CAHOFxGrK-TgSF8u=TuDu8ntJOEZDFx01iu92WKtMAC7Ji=1GZw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Nov 18, 2019 at 10:10 AM Shatamjeev Dewan <sdewan(at)nbsps(dot)com> wrote:

> I am trying to create a foreign key constraint on a table : audit_param in
> postgres 12 which references partitioned table audit_p. is there anyway to
> get rid of this error.
>
>
>
*ERROR: there is no unique constraint matching given keys for referenced
> table "audit_p"*
>

As far as I understand, what you want is not possible. You cannot partition
on a timestamp and then foreign key to an object_id natively. You can get
around this with triggers-
https://www.depesz.com/2018/10/31/foreign-key-to-partitioned-table-part-2/ -
but that would not be recommended.

Admittedly, I have a pretty nasty head cold so it may be that someone
chimes in with much better insight on your design.

By the way, there are strong recommendations for using timestamp WITH
TIMEZONE in nearly all cases. I just wanted to mention since timestamp
without timezone is rarely the best choice.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2019-11-18 17:58:51 Re: ERROR: there is no unique constraint matching given keys for referenced table "audit_p"
Previous Message Shatamjeev Dewan 2019-11-18 17:10:43 ERROR: there is no unique constraint matching given keys for referenced table "audit_p"