Re: [pgsql-ru-general] Номер правки записи

From: Warstone(at)list(dot)ru <warstone(at)list(dot)ru>
To:
Cc: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: [pgsql-ru-general] Номер правки записи
Date: 2015-06-08 12:54:04
Message-ID: 1433768044.117342013@f71.i.mail.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

Вообще-то триггер подойдет. Есть триггеры на апдейт и там вам пойдет version = OLD.version + 1; Можно еще покопать в сторону RULE, но надо сразу предупредить, что RULE пользовать **НЕ НАДО** (Уже где-то с 5 версий идет разговор о том, что надо RULE выпилить, но все как-то нет).

Понедельник, 8 июня 2015, 14:49 +03:00 от "Dmitry E. Oboukhov" <unera(at)debian(dot)org>:
>Есть табличка
>
>orders: id, col1, col2, ...
>
>И есть код в виде n клиентов, находящийся в разных репозитариях
>которые эту табличку модифицируют
>
>
>каждый модифицирует что-то свое вроде
>
>UPDATE
>    orders
>SET
>    col1 = bla
>WHERE
>    id = 123
>
>Далее хочется подвести статистику сколько раз в среднем каждый order
>за период своей жизни модифицируется.
>
>Для этого вводим столбик:
>
>ALTER TABLE orders ADD COLUMN "version" INTEGER NOT NULL DEFAULT 0;
>
>И далее надо пройтись по всем запросам UPDATE и расставить в SET
>
>, version = version + 1
>
>Все вроде просто, но после того как статистика будет снята это все
>хочется обратно убрать итп.
>
>то есть код на несколько недель.
>
>вопрос а как эту задачу решить средствами БД?
>то есть решить так чтобы не увеличивать нагрузку?
>добавление оператора в SET считаем что нагрузку не увеличивает.
>а дополнительный запрос увеличивает.
>
>триггеры тут вроде не подходят (потому что модифицируется та же
>запись, на которой триггер, плюс нагрузка)
>
>что еще можно придумать?
>
>--
>
>. ''`. Dmitry E. Oboukhov
>: :’ : email: unera(at)debian(dot)org jabber: //UNera(at)uvw(dot)ru
>`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
>  `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537

In response to

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Dmitry E. Oboukhov 2015-06-08 17:13:35 Re: Re: [pgsql-ru-general] Номер правки записи
Previous Message Dmitry E. Oboukhov 2015-06-08 11:49:39 Номер правки записи