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 On 08/01/2008, Chris Browne <[EMAIL PROTECTED]> wrote: > [EMAIL PROTECTED] (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... > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq > ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org