Brilliantov Kirill Vladimirovich wrote:
>> You should post the table definition and the whole trigger; the error
>> message seems to refer to things you omitted in your quote.
> 
> Table with statistic:
> CREATE TABLE trassa.cpu_load_stat
> (
>    id serial NOT NULL,
>    device integer NOT NULL,
>    cpu smallint NOT NULL,
>    min_value smallint NOT NULL,
>    min_device_timestamp timestamp without time zone NOT NULL,
>    min_timestamp timestamp without time zone,
>    avg_value smallint NOT NULL,
>    avg_timestamp timestamp without time zone NOT NULL,
>    max_value smallint NOT NULL,
>    max_device_timestamp timestamp without time zone NOT NULL,
>    max_timestamp timestamp without time zone,
>    total_value bigint NOT NULL,
>    total_count integer NOT NULL,
[...]
> )

> Trigger:
> CREATE OR REPLACE FUNCTION trassa.update_cpu_load_stat()
>    RETURNS trigger AS
> $BODY$
[...]
>               UPDATE trassa.cpu_load_stat
>               SET min_value = cpu_min_value,
>                       min_device_timestamp = cpu_min_device_timestamp,
>                       min_timestamp = cpu_min_created_timestamp,
>                       avg_value = CEIL((total_value + NEW.value) /
>                                       (total_count + 1)),
>                       avg_timestamp = NOW(),
>                       max_value = cpu_max_value,
>                       max_device_timestamp = cpu_max_device_timestamp,
>                       max_timestamp = cpu_max_created_timestamp,
>                       total_value = (total_value + NEW.value),
>                       total_count = (total_count + 1)
>               WHERE id = line_id;

I'd say that the error message refers to this or the following query:

There is no field "value" in the table, and "NEW" represents a row in the table,
so the expression "NEW.value" does not make sense.

Yours,
Laurenz Albe

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to