Re: Sometimes referential integrity seems not to work

From: "scott(dot)marlowe" <scott(dot)marlowe(at)ihs(dot)com>
To: Jan Wieck <JanWieck(at)yahoo(dot)com>
Cc: Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Enio Schutt Junior <enio(at)pmpf(dot)rs(dot)gov(dot)br>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Sometimes referential integrity seems not to work
Date: 2004-02-03 16:31:52
Message-ID: Pine.LNX.4.33.0402030929420.23444-100000@css120.ihs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Tue, 3 Feb 2004, Jan Wieck wrote:

> scott.marlowe wrote:
>
> > On Mon, 2 Feb 2004, Jan Wieck wrote:
> >
> >> Stephan Szabo wrote:
> >>
> >> > On Sat, 31 Jan 2004, Tom Lane wrote:
> >> >
> >> >> Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com> writes:
> >> >> > On Mon, 26 Jan 2004, Enio Schutt Junior wrote:
> >> >> >> In a database I am working, I sometimes have to delete all the records in
> >> >> >> some tables. According to the referential integrity defined in the creation
> >> >> >> of the tables, postmaster should not delete the records, but it does. I have
> >> >> >> used the following commands: "delete from table_1" and "truncate table_1".
> >> >> >> ...
> >> >> >> can the postgres user delete records despite referential integrity?
> >> >>
> >> >> I think the first PG release or two that had TRUNCATE TABLE would allow
> >> >> you to apply it despite the existence of foreign-key constraints on the
> >> >> table. Recent releases won't though.
> >> >
> >> > Yeah, truncate didn't worry me much, but the implication that delete from
> >> > table_1; worked did.
> >>
> >> TRUNCATE cannot be used inside of a transaction, and since 7.3 it checks
> >> for foreign keys. So I guess Enio is getting but ignoring the error
> >> message when trying the delete, but then the truncate does the job in
> >> his pre-7.3 database.
> >
> > Yes it can. I think it was starting in 7.3.
>
> Okay, so you're the third one correcting me on this. Now can any of you
> violate a foreign key constraint with anything else than using truncate
> in a pre-7.3 database? Because I can't do that and that was the original
> problem.

OK, I just tested the truncate foreign key truncate on 7.2, and other than
truncate, I've not found any way to delete the fk data from the parent
table.

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Prashanthi Muthyala 2004-02-03 17:46:21
Previous Message scott.marlowe 2004-02-03 16:27:13 Re: Sometimes referential integrity seems not to work