scott.marlowe wrote:

On Mon, 2 Feb 2004, Jan Wieck wrote:

Stephan Szabo wrote:

> On Sat, 31 Jan 2004, Tom Lane wrote:
> >> Stephan Szabo <[EMAIL PROTECTED]> 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.



Jan



=> select * from test2; info ------------- abc'123 123 (2 rows)

=> begin;
BEGIN
=> truncate test2;
TRUNCATE TABLE
=> rollback;
ROLLBACK
=> select * from test2;
    info
-------------
 abc'123
123



---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html


--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== [EMAIL PROTECTED] #


---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to