Re: Yet another "drop table vs delete" question

From: Christophe <xof(at)thebuild(dot)com>
To: PostgreSQL general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Yet another "drop table vs delete" question
Date: 2009-04-21 20:32:02
Message-ID: 2EAF6CC1-1889-440E-954A-8E7B4C02B1B0@thebuild.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Apr 21, 2009, at 1:20 PM, Tom Lane wrote:
> They're both going to drop data that
> might conceivably be visible in the snapshot of some concurrent
> transaction that hasn't yet touched the table (else it would have
> lock)
> but might wish to do so later.

Unless I'm deeply misunderstanding something (always a possibility),
DROP TABLE and TRUNCATE are not symmetrical in this regard. Once a
transaction has issued a DROP TABLE, all other transactions that
attempt to modify it are going to block on the first transaction's
ACCESS EXCLUSIVE lock until it commits or aborts. In the case of
TRUNCATE, the other transactions will see the table as being empty
from the moment in the first transaction issues the TRUNCATE, and will
see the rows reappear if the first transaction rolls back. Yes?

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Mikko 2009-04-21 20:32:18 Re: trouble with to_char('L')
Previous Message Steve Crawford 2009-04-21 20:26:15 Re: COPY 'invalid byte sequence for encoding "UTF8": 0xff'