|
|
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
Добрый день. Пришел момент когда необходимо сделать логирование всех изменений в базе, отсюда появились вопросы. На INSERT, UPDATE, DELETE - без проблем все сделал. Можно ли как то сделать триггер на создание таблицы? Можно ли во время выполнения функции (которая пишет лог в нужные таблицы) получить имя пользователя который вызвал эту функцию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 13:31:59 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
crause, Event Trigger ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 13:34:14 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
crause...Можно ли во время выполнения функции (которая пишет лог в нужные таблицы) получить имя пользователя который вызвал эту функцию? SESSION_USER ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 13:36:14 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
Дело в том, что проснулся не с той ноги, и забыл английские буквы, а если честно плохо очень дается документация по БД на английском. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 13:36:40 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
Слушайте, crause, я ведь уже говорил вам неоднократно, чтобы вы не связывались с триггерами. И дались вам эти триггеры? От них одни неприятности. Все равно user вызывает хранимые процедуры (ну в постгресе - это функции) - вот и логируйте через эти вызываемые хранимые процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 13:38:28 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
Триггерман, если функция будет выполнять туже хренотень, что и триггер, то какая разница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 13:46:33 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
Помню, кто-то говорил. С тригерами у меня только логирование. Тригер передает в функцию логирования параметры, а та пишет в таблицу. Я думаю здесь нельзя накосячить сильно. Конечно с дуру можно и .... поломать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 13:47:45 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
Еще такой вопрос образовался. Можно ли в функции узнать: -ип адрес с которого происходит действие. -отправить email или зделать запись на другой сервер или в другую базу. Фигней не собираюсь заниматься, меня интересует возможность этого. Если еще есть описание по этому, тогда по возможности ссылочку дайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 13:51:08 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
crauseПомню, кто-то говорил. С тригерами у меня только логирование. Тригер передает в функцию логирования параметры, а та пишет в таблицу. Я думаю здесь нельзя накосячить сильно. Конечно с дуру можно и .... поломать. и вы, crause, и V&N - раньше, скорее всего, не имели дела с триггерами. Отсюда и высказывания - мол, "какая разница, с триггером или без триггера", и "оно все будет то же самое что с триггером, что без него" ... Потом, некоторое время спустя, после начала активного использования триггеров, у вас начнутся проблемы, источник которых вы даже не распознаете ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 13:53:07 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
ТриггерманcrauseПомню, кто-то говорил. С тригерами у меня только логирование. Тригер передает в функцию логирования параметры, а та пишет в таблицу. Я думаю здесь нельзя накосячить сильно. Конечно с дуру можно и .... поломать. и вы, crause, и V&N - раньше, скорее всего, не имели дела с триггерами. Отсюда и высказывания - мол, "какая разница, с триггером или без триггера", и "оно все будет то же самое что с триггером, что без него" ... Потом, некоторое время спустя, после начала активного использования триггеров, у вас начнутся проблемы, источник которых вы даже не распознаете ... С Вами спорить не буду, по тому как не все знаю по работе с БД и тем более триггерами. Можете какой то пример привести, почему лучше не использовать. И как могут начаться проблемы из-за чего при использовании триггеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 13:56:37 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
Триггерман, Вы не угадали, у меня триггер триггером погоняет и рули контекст подменяют :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 14:05:29 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
crauseС Вами спорить не буду, по тому как не все знаю по работе с БД и тем более триггерами. Можете какой то пример привести, почему лучше не использовать. И как могут начаться проблемы из-за чего при использовании триггеров. Понимаете, crause, тут все не так просто ... В принципе (по идее), проблем быть никаких не должно, но вот ведь какая штука получается ... Проблемы могут быть неявные, логические, архитектурные, так сказать ... Если вы - обладатель супер-мозга (скажем, как у Анатолия Вассермана, ну или хотя бы как у меня, скромного Триггермана), то в общем-то вы вполне способны построить архитектуру и на триггерах и мысленно отследить все хитросплетения их взаимодействия ... А проблемы начинаются оттого, что большинство программистов-базовиков (не хватающих звезд с неба) не в состоянии совладать со все возрастающей сложностью ими самими же созданной системы (в данном случае - БД). Сначала вы повесите триггер на одну таблицу (а потом еще парочку на нее же), затем вы сделаете это с другой таблицей, с третьей, ... пока не поймете, что вы уже не контролируете ситуацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 14:05:53 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
crause... -ип адрес с которого происходит действие. -отправить email или зделать запись на другой сервер или в другую базу.... inet_client_addr email - функция, на любом подключаемом языке с/plperl/pljava ... другой сервер или в другую базу - dblink ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 14:12:20 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
Триггерман, Уяснил. Понравилась фраза "пока не поймете, что вы уже не контролируете ситуацию". Улыбнуло, вспомнил Терминатора. V&N, Спасибо и Вам тоже. Буду разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 14:16:15 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
V&N Триггерман, если функция будет выполнять туже хренотень, что и триггер, то какая разница?разница в глубине перекрытия триггер перекрывает ручные апдейты вороватых триггерманов, а им этого не хочется. а если без оглядки на универсальность - пакетную обработку лучше делать пакетными стейтментами, а не for each rows логикой. это несколько быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 20:00:10 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
crauseДобрый день. Пришел момент когда необходимо сделать логирование всех изменений в базе Если ВСЕХ !!! то ты умрешь по перформансу с триггерами, без вариантов. Тут единственное что справится - это CDC, но у постгреса с этим проблемы. В любом случае настрой как минимум репликацию в другую базу хотя бы, и там уже триггеруй. p.s. триггеры - зло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 10:21:29 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
Тригеры зло, индексы зло, таблицы зло, база зло, процедуры зло. Храните все в файлах!! Но они тоже - зло!!! Мне понравилось как Триггерман тонко описал почему не стоит использовать тригеры! Так хочу сказать, что под такую "тонкость" можно подвести любой инструмент, и не только БД. Вы и в ООП может поназначать, и переназначать так, что бы потом перестанете контролировать приложение. Любое более менее сложное приложение - нельзя написать в виде последовательной процедуры. Есть много разветвлений. И получить логическое противоречие можно при использовании любого инструмента. Так что не несите чепуху по поводу тригеров. Есть задачи, которые просто нереально решить без них. А если и реально, то с кучей кодобреда.. Если у вас там не выходит что то, то это не накладывает панацею на всех остальных в плане использования инструментов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 12:12:53 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
одним из полезных может быть правило -- триггеры только для денормализаций/репликаций/итп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 13:52:18 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
Electric200не несите чепуху по поводу тригеров. Есть задачи, которые просто нереально решить без них.Ловлю вас на слове. Приведите задачи, которые нельзя решить без триггеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 14:55:09 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
Misha Tyurinодним из полезных может быть правило -- триггеры только для денормализацийПолнейшая чушь. Денормализация - это одно, триггер - это другое. В огороде - бузина, а в Киеве - дядька. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 14:57:06 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
ТриггерманElectric200не несите чепуху по поводу тригеров. Есть задачи, которые просто нереально решить без них.Ловлю вас на слове. Приведите задачи, которые нельзя решить без триггеров. Пожалуйста. Каскадное обновление записей в одной таблице, где есть запись - родитель, и запись потомок . При обновлении родителя, должно изменятся значение потомка. Любая запись стает родителем автоматически, если у нее появляется потомок. У каждого родителя может быть неограниченно число потомков как горизонтально так и по вертикальной иерархии. Т.е рекурсивно - каскадное обновление данных. С тригером на UPDATE это решается 3 строчками, а без тригера на родном PHP это был бы велосепед и не факт что вообще реализуем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 15:18:33 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
авторчушь когда уже sql ру перестанет давать анонимные посты в спец форумы, помойка, а не чаты тут получаются. это же профессиональное типа сообщество, нахера, нам тут анонимы? мы же не погоду тут обсуждаем. кто тут модератор? поясните позицию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 15:36:59 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
О чём спор? Не зная задачи, говорить триггеры "зло/добро" - бред сивой кобылы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 15:37:43 |
|
||
|
Триггер с логированием.
|
|||
|---|---|---|---|
|
#18+
Electric200С тригером на UPDATE это решается 3 строчками, а без тригера на родном PHP это был бы велосепед и не факт что вообще реализуем.Вы сами понимаете, что это facepalm? Зачем вы сами себя так подставляете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 15:48:58 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38681979&tid=1998605]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
442ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 760ms |

| 0 / 0 |
