From: Alvaro Herrera <alvherre@commandprompt.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Gerardo Herzig <gherzig@fmed.uba.ar>
Cc: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Chris Browne <cbbrowne@acm.org>
Cc: pgsql-sql@postgresql.org
Subject: Re: trigger for TRUNCATE?
Date: Thu, 10 Jan 2008 14:47:05 -0300
Message-ID: <20080110174705.GO6465@alvh.no-ip.org> (raw)
In-Reply-To: <8003.1199986734@sss.pgh.pa.us>
References: <4783BEA9.3020507@fmed.uba.ar>
<60tzloyr0u.fsf@dba2.int.libertyrms.com>
<162867790801081338n237497efpecffaa255253274d@mail.gmail.com>
<47864A6B.3070902@fmed.uba.ar>
<20080110171027.GK6465@alvh.no-ip.org>
<8003.1199986734@sss.pgh.pa.us>
Tom Lane escribió:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
> > Gerardo Herzig escribió:
> >> Yes, the TRUNCATE statement is not sql ansi, maybe is a more low level
> >> thing than i think.
>
> > TRUNCATE currently does not fire triggers, but that doesn't mean it's
> > impossible to do it. I think it would be fairly easy to add support
> > for that.
>
> The entire point of TRUNCATE is to not do a table scan, so making it
> fire per-row triggers seems pretty misguided to me.
My thinking is that a TRUNCATE trigger is a per-statement trigger which
doesn't have access to the set of deleted rows (Replicator uses it that
way -- we replicate the truncate action, and replay it on the replica).
In that way it would be different from a per-statement trigger for
DELETE.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: alvherre@commandprompt.com, tgl@sss.pgh.pa.us, gherzig@fmed.uba.ar, pavel.stehule@gmail.com, cbbrowne@acm.org
Subject: Re: trigger for TRUNCATE?
In-Reply-To: <20080110174705.GO6465@alvh.no-ip.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox