powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Триггер с логированием.
36 сообщений из 36, показаны все 2 страниц
Триггер с логированием.
    #38679656
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Пришел момент когда необходимо сделать логирование всех изменений в базе, отсюда появились вопросы.

На INSERT, UPDATE, DELETE - без проблем все сделал.
Можно ли как то сделать триггер на создание таблицы?

Можно ли во время выполнения функции (которая пишет лог в нужные таблицы) получить имя пользователя который вызвал эту функцию?
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679659
V&N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V&N
Гость
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679662
V&N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V&N
Гость
crause...Можно ли во время выполнения функции (которая пишет лог в нужные таблицы) получить имя пользователя который вызвал эту функцию?

SESSION_USER
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679663
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что проснулся не с той ноги, и забыл английские буквы,
а если честно плохо очень дается документация по БД на английском.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679666
Триггерман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушайте, crause,
я ведь уже говорил вам неоднократно, чтобы вы не связывались с триггерами. И дались вам эти триггеры? От них одни неприятности.
Все равно user вызывает хранимые процедуры (ну в постгресе - это функции) - вот и логируйте через эти вызываемые хранимые процедуры.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679677
V&N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V&N
Гость
Триггерман, если функция будет выполнять туже хренотень, что и триггер, то какая разница?
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679679
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помню, кто-то говорил.
С тригерами у меня только логирование. Тригер передает в функцию логирования параметры, а та пишет в таблицу.
Я думаю здесь нельзя накосячить сильно. Конечно с дуру можно и .... поломать.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679688
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще такой вопрос образовался.
Можно ли в функции узнать:
-ип адрес с которого происходит действие.
-отправить email или зделать запись на другой сервер или в другую базу.

Фигней не собираюсь заниматься, меня интересует возможность этого.
Если еще есть описание по этому, тогда по возможности ссылочку дайте.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679691
Триггерман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crauseПомню, кто-то говорил.
С тригерами у меня только логирование. Тригер передает в функцию логирования параметры, а та пишет в таблицу.
Я думаю здесь нельзя накосячить сильно. Конечно с дуру можно и .... поломать.

и вы, crause, и V&N - раньше, скорее всего, не имели дела с триггерами.
Отсюда и высказывания - мол, "какая разница, с триггером или без триггера", и "оно все будет то же самое что с триггером, что без него" ...
Потом, некоторое время спустя, после начала активного использования триггеров, у вас начнутся проблемы, источник которых вы даже не распознаете ...
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679698
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТриггерманcrauseПомню, кто-то говорил.
С тригерами у меня только логирование. Тригер передает в функцию логирования параметры, а та пишет в таблицу.
Я думаю здесь нельзя накосячить сильно. Конечно с дуру можно и .... поломать.

и вы, crause, и V&N - раньше, скорее всего, не имели дела с триггерами.
Отсюда и высказывания - мол, "какая разница, с триггером или без триггера", и "оно все будет то же самое что с триггером, что без него" ...
Потом, некоторое время спустя, после начала активного использования триггеров, у вас начнутся проблемы, источник которых вы даже не распознаете ...

С Вами спорить не буду, по тому как не все знаю по работе с БД и тем более триггерами.
Можете какой то пример привести, почему лучше не использовать. И как могут начаться проблемы из-за чего при использовании триггеров.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679710
V&N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V&N
Гость
Триггерман, Вы не угадали, у меня триггер триггером погоняет и рули контекст подменяют :D
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679713
Триггерман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crauseС Вами спорить не буду, по тому как не все знаю по работе с БД и тем более триггерами.
Можете какой то пример привести, почему лучше не использовать. И как могут начаться проблемы из-за чего при использовании триггеров.
Понимаете, crause, тут все не так просто ...
В принципе (по идее), проблем быть никаких не должно, но вот ведь какая штука получается ...
Проблемы могут быть неявные, логические, архитектурные, так сказать ...
Если вы - обладатель супер-мозга (скажем, как у Анатолия Вассермана, ну или хотя бы как у меня, скромного Триггермана), то в общем-то вы вполне способны построить архитектуру и на триггерах и мысленно отследить все хитросплетения их взаимодействия ...
А проблемы начинаются оттого, что большинство программистов-базовиков (не хватающих звезд с неба) не в состоянии совладать со все возрастающей сложностью ими самими же созданной системы (в данном случае - БД). Сначала вы повесите триггер на одну таблицу (а потом еще парочку на нее же), затем вы сделаете это с другой таблицей, с третьей, ... пока не поймете, что вы уже не контролируете ситуацию.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679726
V&N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V&N
Гость
crause...
-ип адрес с которого происходит действие.
-отправить email или зделать запись на другой сервер или в другую базу....

inet_client_addr
email - функция, на любом подключаемом языке с/plperl/pljava ...
другой сервер или в другую базу - dblink
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38679730
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Триггерман,
Уяснил. Понравилась фраза "пока не поймете, что вы уже не контролируете ситуацию". Улыбнуло, вспомнил Терминатора.

V&N, Спасибо и Вам тоже. Буду разбираться.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38680293
какабычна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
V&N Триггерман, если функция будет выполнять туже хренотень, что и триггер, то какая разница?разница в глубине перекрытия

триггер перекрывает ручные апдейты вороватых триггерманов, а им этого не хочется.

а если без оглядки на универсальность - пакетную обработку лучше делать пакетными стейтментами, а не for each rows логикой. это несколько быстрее
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38680577
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crauseДобрый день.
Пришел момент когда необходимо сделать логирование всех изменений в базе
Если ВСЕХ !!! то ты умрешь по перформансу с триггерами, без вариантов.
Тут единственное что справится - это CDC, но у постгреса с этим проблемы. В любом случае настрой как минимум репликацию в другую базу хотя бы, и там уже триггеруй.

p.s. триггеры - зло
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38681694
Electric200
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тригеры зло, индексы зло, таблицы зло, база зло, процедуры зло. Храните все в файлах!! Но они тоже - зло!!!
Мне понравилось как Триггерман тонко описал почему не стоит использовать тригеры! Так хочу сказать, что под такую "тонкость" можно подвести любой инструмент, и не только БД. Вы и в ООП может поназначать, и переназначать так, что бы потом перестанете контролировать приложение.
Любое более менее сложное приложение - нельзя написать в виде последовательной процедуры. Есть много разветвлений. И получить логическое противоречие можно при использовании любого инструмента.

Так что не несите чепуху по поводу тригеров. Есть задачи, которые просто нереально решить без них. А если и реально, то с кучей кодобреда.. Если у вас там не выходит что то, то это не накладывает панацею на всех остальных в плане использования инструментов.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38681864
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
одним из полезных может быть правило -- триггеры только для денормализаций/репликаций/итп
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38681945
Триггерман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Electric200не несите чепуху по поводу тригеров. Есть задачи, которые просто нереально решить без них.Ловлю вас на слове. Приведите задачи, которые нельзя решить без триггеров.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38681947
Триггерман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha Tyurinодним из полезных может быть правило -- триггеры только для денормализацийПолнейшая чушь. Денормализация - это одно, триггер - это другое. В огороде - бузина, а в Киеве - дядька.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38681979
Electric200
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТриггерманElectric200не несите чепуху по поводу тригеров. Есть задачи, которые просто нереально решить без них.Ловлю вас на слове. Приведите задачи, которые нельзя решить без триггеров.
Пожалуйста.
Каскадное обновление записей в одной таблице, где есть запись - родитель, и запись потомок . При обновлении родителя, должно изменятся значение потомка. Любая запись стает родителем автоматически, если у нее появляется потомок. У каждого родителя может быть неограниченно число потомков как горизонтально так и по вертикальной иерархии. Т.е рекурсивно - каскадное обновление данных.
С тригером на UPDATE это решается 3 строчками, а без тригера на родном PHP это был бы велосепед и не факт что вообще реализуем.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682003
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторчушь

когда уже sql ру перестанет давать анонимные посты в спец форумы, помойка, а не чаты тут получаются.
это же профессиональное типа сообщество, нахера, нам тут анонимы? мы же не погоду тут обсуждаем.

кто тут модератор? поясните позицию
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682004
V&N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V&N
Гость
О чём спор?
Не зная задачи, говорить триггеры "зло/добро" - бред сивой кобылы.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682022
Триггерман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Electric200С тригером на UPDATE это решается 3 строчками, а без тригера на родном PHP это был бы велосепед и не факт что вообще реализуем.Вы сами понимаете, что это facepalm? Зачем вы сами себя так подставляете?
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682027
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682028
Триггерман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha Tyurinавторчушь

когда уже sql ру перестанет давать анонимные посты в спец форумы, помойка, а не чаты тут получаются.
это же профессиональное типа сообщество, нахера, нам тут анонимы? Помойка - это когда специалист пишет "триггеры только для денормализаций".
И чем это тебя анонимный никнейм так бесит ? Оттого что ты - Вася Пупкин Миша Тюрин, твое утверждение не станет более правильным.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682358
Sergei.Agalakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТриггерманElectric200не несите чепуху по поводу тригеров. Есть задачи, которые просто нереально решить без них.Ловлю вас на слове. Приведите задачи, которые нельзя решить без триггеров.
Партицирование в Постгресе. RULE не предлагать.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682364
какабычна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Триггерман...задачи поддержания логической целостности, если открытому кругу ползателей (например криворуким триггерманам) открыта работа над таблицами (insert update delete ) вполне нормально решается триггерами (и _реально_ решаются только ими)

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

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

но универсальные механизмы позволяют опираться на некие законы сохранения (ими поддерживаемые), а не универсальные -- или начхать на возможность бледно выгляднуть, в случае чего, либо всюду подозревать (и перекрывать излишним кодом) возможность налететь на несохранение неявно используемых кодом "интегралов".
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682366
Electric200
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТриггерманElectric200С тригером на UPDATE это решается 3 строчками, а без тригера на родном PHP это был бы велосепед и не факт что вообще реализуем.Вы сами понимаете, что это facepalm? Зачем вы сами себя так подставляете?
В чем собственно, обоснуйте.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682369
какабычна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergei.AgalakovТриггерманпропущено...
Ловлю вас на слове. Приведите задачи, которые нельзя решить без триггеров.
Партицирование в Постгресе. RULE не предлагать.вам предложат всюду в коде всех хранимок вычислять имена пратиций напрямую, и, следовательно, использовать днамич скл. а партиции всегда нарезать сугубо руками и/или джобами.

хотя партицирование, особенно самопальное, как в пж -- реальное зло.
но колемся, ога; и продолжаем жрать что дают.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682373
какабычна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Electric200Триггерманпропущено...
Вы сами понимаете, что это facepalm? Зачем вы сами себя так подставляете?
В чем собственно, обоснуйте.обход дерева рисуется довольно просто с помощью WITH RECURSIV запроса [т.е. CTE]. А до того -- легко делался с помощью рекурсивно вызываемой хранимки.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682376
Electric200
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какабычна,

ПЖ оно работает через тригеры, насколько мне известно. В любом случае, если требуется добиться некоторой равномерности и распределенности в базе, при большое количестве данных, то очень даже нечего.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682377
Аноним)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мишутка, пожалуйста, съебись с форума.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38682605
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТриггерманMisha Tyurinодним из полезных может быть правило -- триггеры только для денормализацийПолнейшая чушь. Денормализация - это одно, триггер - это другое. В огороде - бузина, а в Киеве - дядька.

Триггерман, поясни про бузину.
Какие предлагаешь примеры использования триггеров?

Поддержу Михаила в том, что использовать триггеры для поддержки денормализации данных, это хорошее правило.

Пожалуй вспомнил еще одно применение.
Если приложение чужое и менять исходный код хранимых процедур нельзя, а вклиниться в логику работы нужно.
Тут триггеры помогают.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38686279
Sergei.Agalakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какабычнаSergei.Agalakovпропущено...

Партицирование в Постгресе. RULE не предлагать.вам предложат всюду в коде всех хранимок вычислять имена пратиций напрямую, и, следовательно, использовать днамич скл. а партиции всегда нарезать сугубо руками и/или джобами.

хотя партицирование, особенно самопальное, как в пж -- реальное зло.
но колемся, ога; и продолжаем жрать что дают.
Ваше предложение особенно весело работает, когда надо 100500 записей вставить из Insert скрипта или CSV в партицированную таблицу. Каждый раз ручками делить на N частей по количеству партиций?
И чем вам не нравится сама идея партицирования данных? Мне вот очень не хватает партицирования а-ля Оракл в Постгресе.
...
Рейтинг: 0 / 0
Триггер с логированием.
    #38686307
Гость_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergei.AgalakovКаждый раз ручками делить на N частей по количеству партиций?Зачем ручками, можно же написать скрипт :-)
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Триггер с логированием.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]