update table with suppress_redundant_updates_trigger()

Поиск
Список
Период
Сортировка
От wambacher@posteo.de
Тема update table with suppress_redundant_updates_trigger()
Дата
Msg-id fa1d484b-2416-041f-9de3-1ff520307f96@posteo.de
обсуждение исходный текст
Ответы Re: update table with suppress_redundant_updates_trigger()  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: update table with suppress_redundant_updates_trigger()  (wambacher@posteo.de)
Список pgsql-general

Hi,

i'm doing a lot of updates in my database, but most of them are not necessary at all (sorry, just detected it)

Therefore i installed a trigger to minimize real updates.

create trigger suppress_redundant_updates_boundaries
   before update on boundaries
   for each row execute procedure suppress_redundant_updates_trigger();

Is there a way to get the count of the real table updates?

Using pl/pgsql i'm updating boundaries  with

                  update boundaries
                     set id             = bT2.id,
                         country        = bT2.country,
                         type           = 'admin',   
                         value          = bT2.value,
...
                        ,qm             = bT2.qm
                        ,lwqm           = st_area(geography(coalesce(xlandarea,rT.way)))
                   where id = bT2.id;

                   if (found) then
                      if (debug > 0) then raise notice 'real db update of % done 2', bT2.id; end if;
                      updatedDB := updatedDB + 1;
                   end if;

i get a "wrong" result, because "found" is always true, even when the records are identical (hope so) and an update should be suppressed by the trigger.

Question: will "found" be set when update has been blocked by the trigger - or does that not matter?

if "found" is always true: what else can i do?

regards

walter

В списке pgsql-general по дате отправления:

Предыдущее
От: "Daniel Fink (PDF)"
Дата:
Сообщение: RE: bdr replication breaks down
Следующее
От: Filip Rembiałkowski
Дата:
Сообщение: 9.0 standby - could not open file global/XXXXX