Size: a a a

pgsql – PostgreSQL

2021 February 26

O

Oleksii Miuskyi in pgsql – PostgreSQL
только как правильно OLD и NEW оперировать. Ведь если будет 3 таблицы. придется тучу ифоф писать. Если не сложно подскажите решение
источник

O

Oleksii Miuskyi in pgsql – PostgreSQL
v_old_data='';
   v_new_data='';
       IF (OLD.EMPNAME != NEW.EMPNAME) then v_old_data:=v_old_data || 'EMPNAME'; end if;
       if (OLD.EMPDESIG != NEW.EMPDESIG) then v_old_data:=v_old_data || ',EMPDESIG';
        END IF;    
С одной таблицой просто. но если полей много + еще другие таблицы..
источник

Z

Zheka_13 in pgsql – PostgreSQL
Oleksii Miuskyi
только как правильно OLD и NEW оперировать. Ведь если будет 3 таблицы. придется тучу ифоф писать. Если не сложно подскажите решение
триггер вешается на одну таблицу и срабатывает на одной таблице. поэтому old и new будут у него только от одной таблицы
источник

O

Oleksii Miuskyi in pgsql – PostgreSQL
Zheka_13
триггер вешается на одну таблицу и срабатывает на одной таблице. поэтому old и new будут у него только от одной таблицы
я хочу один триггер на все таблицы что будут
источник

Z

Zheka_13 in pgsql – PostgreSQL
Oleksii Miuskyi
я хочу один триггер на все таблицы что будут
такое не возможно
источник

O

Oleksii Miuskyi in pgsql – PostgreSQL
Zheka_13
такое не возможно
создавать на 10 таблиц 10 триггеров?
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Oleksii Miuskyi
только как правильно OLD и NEW оперировать. Ведь если будет 3 таблицы. придется тучу ифоф писать. Если не сложно подскажите решение
Мало того, что на каждую таблицу надо будет вешать отдельный триггер с соответствующей функцией, так я бы порекомендовал на каждую операцию отдельный триггер со своей триггерной функцией. Ибо, чем более развесистая  ф-я, тем более она будет тормозить изменение данных.
источник

Z

Zheka_13 in pgsql – PostgreSQL
если полей много. проверяйте каждое поле вручную . либо воспользуйтесь екстеншеном hstore. с его помощью можно все в цикле перебрать
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Oleksii Miuskyi
создавать на 10 таблиц 10 триггеров?
30 триггеров и триггерных функций.
источник

O

Oleksii Miuskyi in pgsql – PostgreSQL
Zheka_13
если полей много. проверяйте каждое поле вручную . либо воспользуйтесь екстеншеном hstore. с его помощью можно все в цикле перебрать
c hstore не работал. вопрос если туда буду вносить данные придется написать функцию на очистку hstore?
источник

O

Oleksii Miuskyi in pgsql – PostgreSQL
Михаил Шурутов
30 триггеров и триггерных функций.
это ад)
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
Правда, а что-за история с кармой?
источник

Z

Zheka_13 in pgsql – PostgreSQL
Oleksii Miuskyi
c hstore не работал. вопрос если туда буду вносить данные придется написать функцию на очистку hstore?
если использовать hstore, то триггер переписывать не надо. он автоматически будет обходить все поля.
источник

O

Oleksii Miuskyi in pgsql – PostgreSQL
Zheka_13
если использовать hstore, то триггер переписывать не надо. он автоматически будет обходить все поля.
можно вам в личку написать если будут вопросы по hstore?
источник

Z

Zheka_13 in pgsql – PostgreSQL
hstore очищать не надо. это просто удобный способ пройтись по записи в цикле по ключу и значению
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Oleksii Miuskyi
это ад)
Я из-за триггеров наблюдал просадку на вставку в несколько порядков. Именно порядкОВ Решайте сами, надо оно вам, или нет
источник

O

Oleksii Miuskyi in pgsql – PostgreSQL
Михаил Шурутов
Я из-за триггеров наблюдал просадку на вставку в несколько порядков. Именно порядкОВ Решайте сами, надо оно вам, или нет
кстати да если много триггеров замечал подтормаживание. хотел тому 1 триггер всего
источник

O

Oleksii Miuskyi in pgsql – PostgreSQL
Михаил Шурутов
Я из-за триггеров наблюдал просадку на вставку в несколько порядков. Именно порядкОВ Решайте сами, надо оно вам, или нет
дали задачу реализовать audit по всему что происходит в определенной базе. без триггера что скинул пока не нашел решение как сделать
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
pg_audit
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Oleksii Miuskyi
дали задачу реализовать audit по всему что происходит в определенной базе. без триггера что скинул пока не нашел решение как сделать
Плюс, в вашем триггере, я не увидел, как отследить, кто именно вносит изменения.
источник