172 похожих чатов

Всем привет. Нужна помощь. Есть одна таблица но со временем будет

10. Создал триггер который реагирует на изменения в таблице :Insert,Update,Delete. Как сделать в триггере чтоб в поле v_old_data закидывало например какие поля в таблице были изменены при апдейте или инсерте.
Ссылка на пример: https://dbfiddle.uk/?rdbms=postgres_12&fiddle=0774a3dab0dd2f8cc2242f9c53c9ec25

14 ответов

4 просмотра

https://www.postgresql.org/docs/9.2/plpgsql-trigger.html обратите внимание на OLD и NEW

Oleksii-Miuskyi Автор вопроса
zheka_13
https://www.postgresql.org/docs/9.2/plpgsql-trigge...

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

Oleksii Miuskyi
только как правильно OLD и NEW оперировать. Ведь е...

триггер вешается на одну таблицу и срабатывает на одной таблице. поэтому old и new будут у него только от одной таблицы

Oleksii-Miuskyi Автор вопроса
zheka_13
триггер вешается на одну таблицу и срабатывает на ...

я хочу один триггер на все таблицы что будут

Oleksii-Miuskyi Автор вопроса
zheka_13
такое не возможно

создавать на 10 таблиц 10 триггеров?

Oleksii Miuskyi
только как правильно OLD и NEW оперировать. Ведь е...

Мало того, что на каждую таблицу надо будет вешать отдельный триггер с соответствующей функцией, так я бы порекомендовал на каждую операцию отдельный триггер со своей триггерной функцией. Ибо, чем более развесистая ф-я, тем более она будет тормозить изменение данных.

Oleksii Miuskyi
это ад)

Я из-за триггеров наблюдал просадку на вставку в несколько порядков. Именно порядкОВ Решайте сами, надо оно вам, или нет

Oleksii-Miuskyi Автор вопроса
Михаил Шурутов
Я из-за триггеров наблюдал просадку на вставку в н...

кстати да если много триггеров замечал подтормаживание. хотел тому 1 триггер всего

Oleksii-Miuskyi Автор вопроса
Михаил Шурутов
Я из-за триггеров наблюдал просадку на вставку в н...

дали задачу реализовать audit по всему что происходит в определенной базе. без триггера что скинул пока не нашел решение как сделать

Oleksii Miuskyi
дали задачу реализовать audit по всему что происхо...

Плюс, в вашем триггере, я не увидел, как отследить, кто именно вносит изменения.

Аудит манипуляций с данными по через логи: https://mydbanotebook.org/post/auditing/ На самом деле, на нагруженных проектах не вариант, по вполне понятным причинам.

Похожие вопросы

Обсуждают сегодня

Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Hi guys, I'm looking for a good LLM course. Is there any course to learn LLMs in advanced? I'm aiming to use them in my apps, so a perfect course in my openion, is not only a ...
Taha
14
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
Всем привет. Подскажите, пожалуйста, как вы реализовываете следующий функционал. Допустим есть форма, в которой имеется выпадающий список со значениями. Значения хранятся в БД...
Евгений
7
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
Хех, данные на форме всегда будут "из прошлого", т.к. перезаполнять поля формы в процессе редактирования пользователем - так себе идея. Пользователь может открыть форму редакт...
Alexander Somov
7
Карта сайта