Re: Creation of FK without enforcing constraint for existing data

From: Gavan Schneider <list(dot)pg(dot)gavan(at)pendari(dot)org>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Cc: sivapostgres(at)yahoo(dot)com
Subject: Re: Creation of FK without enforcing constraint for existing data
Date: 2022-08-02 07:43:14
Message-ID: BE22498C-CF35-4E3C-94A1-4F25E020C88A@pendari.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 2 Aug 2022, at 17:14, sivapostgres(at)yahoo(dot)com wrote:

> Hello,
> I need to create a Foreign Key for a table without enforcing the
> constraint for existing data.   Few orphan exists in existing data,
> which we plan to resolve it later.  
> We use the following query to create the FK [ Which of course checks
> for the presence of record in referencing table]

Try something like
[sql-altertable.html](https://www.postgresql.org/docs/current/sql-altertable.html):

ALTER TABLE public.table1 ADD CONSTRAINT "constraint1_FK" FOREIGN KEY
(field1) REFERENCES
public.tabnle2(field2) MATCH SIMPLE  ON UPDATE RESTRICT ON DELETE
RESTRICT
DEFERRABLE INITIALLY DEFERRED
;

> The facility NOT to check for the presence of the parent record is
> available in SQL Server.   Searching an equivalent option in
> PostGreSQL.  Is it available?   Else any other way to achieve this.
>
No knowledge of SQL Server and how this is specified there, but the
…DEFFER… syntax is according to the SQL standard

Regards

Gavan Schneider
——
Gavan Schneider, Sodwalls, NSW, Australia
Explanations exist; they have existed for all time; there is always a
well-known solution to every human problem — neat, plausible, and
wrong.
— H. L. Mencken, 1920

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Durumdara 2022-08-02 12:18:36 Strange collation names ("hu_HU.UTF-8")
Previous Message sivapostgres@yahoo.com 2022-08-02 07:14:49 Re: Creation of FK without enforcing constraint for existing data