Re: Delete rule does not prevent truncate

From: Rob Sargent <robjsargent(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Delete rule does not prevent truncate
Date: 2015-07-23 18:15:18
Message-ID: 55B12F36.60300@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 07/23/2015 12:09 PM, Adrian Klaver wrote:
> On 07/23/2015 04:57 AM, Tim Smith wrote:
>> Andrew,
>>
>> From the manual:
>>
>> It is important to realize that a rule is really a command
>> transformation mechanism, or command macro. The transformation happens
>> before the execution of the command starts. If you actually want an
>> operation that fires independently for each physical row, you probably
>> want to use a trigger, not a rule
>>
>>
>> Thus, I should not have to use a trigger for TRUNCATE because the "each
>> row" concept does not apply. Plus it makes perfect sense to want to
>> transform the truncate command and transform into ignore
>>
>
> Just in case it has not been made obvious yet, rules are silently
> deprecated. They still exist because views depend on them, but it is
> generally considered best practices to not use them outside that
> realm. So if you want the rule behavior to change for TRUNCATE(if that
> is even possible) you are fighting an uphill battle. You may pursue
> that fight of course, but I would think you will get a quicker return
> on your time if you just forget about using a RULE and stick to a
> TRIGGER instead.
>
Or change to using delete instead of truncate?

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2015-07-23 18:25:01 Re: Delete rule does not prevent truncate
Previous Message Adrian Klaver 2015-07-23 18:09:54 Re: Delete rule does not prevent truncate