From: Gerardo Herzig <gherzig@fmed.uba.ar>
To: 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 13:40:11 -0300
Message-ID: <47864A6B.3070902@fmed.uba.ar> (raw)
In-Reply-To: <162867790801081338n237497efpecffaa255253274d@mail.gmail.com>
References: <4783BEA9.3020507@fmed.uba.ar>
<60tzloyr0u.fsf@dba2.int.libertyrms.com>
<162867790801081338n237497efpecffaa255253274d@mail.gmail.com>
Pavel Stehule wrote:
>On 08/01/2008, Chris Browne <cbbrowne@acm.org> wrote:
>
>
>>gherzig@fmed.uba.ar (Gerardo Herzig) writes:
>>
>>
>>>Hi all. Acording to the docs, TRUNCATE will not fire a DELETE trigger
>>>on the table being truncated.
>>>There is a way to capture a TRUNCATE in any way?
>>>
>>>
>>I think there's some sort of "to do" on that...
>>
>>It ought to be not *too* difficult (I imagine!) to be able to
>>associate a trigger with the TRUNCATE action, and therefore run some
>>stored function any time TRUNCATE takes place.
>>
>>For the Slony-I replication system, it would be attractive for this to
>>lead to attaching two functions:
>> - One function would return an exception so that TRUNCATE against
>> a subscriber node would fail...
>>
>> - Another would pretty much be as simple as submitting an event;
>> perform createEvent('_ourcluster', 'TRUNCATE_TABLE', table_id);
>>
>>A new event, TRUNCATE_TABLE, would do a TRUNCATE against the
>>subscribers.
>>
>>This represents a pretty easy enhancement, given the new kind of
>>trigger.
>>--
>>(reverse (concatenate 'string "moc.enworbbc" "@" "enworbbc"))
>>http://www3.sympatico.ca/cbbrowne/nonrdbms.html
>>Frisbeetarianism: The belief that when you die, your soul goes up on
>>the roof and gets stuck...
>>
>>Hello
>>
>>theoretically you can have trigger on any statement, but I am not sure
>>about conformance with std. But, you can wrap TRUNCATE statement into
>>some procedure, and then call this procedure with some other actions.
>>
>>Regards
>>Pavel Stehule
>>
>>
>>
Yes, the TRUNCATE statement is not sql ansi, maybe is a more low level
thing than i think.
Gerardo
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: gherzig@fmed.uba.ar, pavel.stehule@gmail.com, cbbrowne@acm.org
Subject: Re: trigger for TRUNCATE?
In-Reply-To: <47864A6B.3070902@fmed.uba.ar>
* 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