Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Problem with SET CONSTRAINTS ALL DEFERRED;



On Fri, 19 May 2006, Kaloyan Iliev wrote:

> Hi Friends,
>
> I am trying to postpone the foreign key constraint check till the end of
> transaction but it doesn't work.
> Can anyone help me with a tip what I am doing wrong.

Was the constraint created as deferrable (which is not the default)?
ALL DEFERRED actually only applies to deferrable constraints.

>
> Thanks in advance.
>
> Kaloyan Iliev
>
> test=#  BEGIN;
> BEGIN
> test=#
> test=# SET CONSTRAINTS ALL DEFERRED;
> SET CONSTRAINTS
> test=# DELETE FROM picture
> test-#                                                          USING
> element_picture
> test-#                                                          WHERE
> picture.id = element_picture.picture_id
> test-#
> AND element_picture.element_id = 8;
> ERROR:  update or delete on "picture" violates foreign key constraint
> "picture_id" on "element_picture"
> DETAIL:  Key (id)=(223) is still referenced from table "element_picture".
>
>
>  select version();
>                                             version
> ------------------------------------------------------------------------------------------------
>  PostgreSQL 8.1.2 on i386-portbld-freebsd6.0, compiled by GCC cc (GCC)
> 3.4.4 [FreeBSD] 20050518
> (1 row)
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
>        message can get through to the mailing list cleanly
>



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group