From: | Jasen Betts <jasen(at)xnet(dot)co(dot)nz> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Order of evaluation in triggers for checks on inherited table partitions |
Date: | 2011-05-30 09:21:19 |
Message-ID: | irvnif$o8n$4@reversiblemaps.ath.cx |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On 2011-05-27, Kevin Crain <kevin(dot)crain1(at)gmail(dot)com> wrote:
> I am trying to create a trigger on updates to a table that is
> partitioned. The child tables are partitioned by month and include
> checks on a timestamp field.
> However when I try to update an existing record with a
> timestamp that would place it in a child table different from the
> child table it is in I get an error due to the check on the child
> table it is currently in. My best guess as to what is happening is
> that the trigger is evaluating the check before it evaluates the
> trigger function and thus cannot tell that the update to the original
> table should never take place. I have included an example below. The
> error that results is "new row for relation "t_foo_2011_6" violates
> check constraint "t_foo_2011_6_f_timestamp_check""
the problem is the check is running before the trigger.
perhaps you can use a rule instead of a trigger?
--
⚂⚃ 100% natural
From | Date | Subject | |
---|---|---|---|
Next Message | Rob Sargent | 2011-05-30 14:45:26 | Re: Function to total reset a schema |
Previous Message | Enrico Weigelt | 2011-05-30 07:39:50 | Re: [SQL] 500KB PDF files for postgresql8.3, which is the most efficient way? |