|
Нужен совет - логирование талиц
|
|||
---|---|---|---|
#18+
В общем нужно логировать изменения в таблицах. Сразу напрашивается решение - навесить тригер и лить лог в специальную таблицу. Но есть нюанс - нужно понимать кто эти изменения сделал. Тригер ничего не знает о пользователе, который залогинился в приложении (не путать с пользователем БД). Вот думаю как сие реализовать. У кого какие мысли есть? Всем за ранее благодарна! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 12:01 |
|
Нужен совет - логирование талиц
|
|||
---|---|---|---|
#18+
x0125 Сеанс всегда от одного пользователя БД происходит. Кроме того надо значение в тригер передать, не думаю тригер увидит правильную временную таблицу если они все под одним пользователем БД будут создаваться. У меня про пользователя знает только приложение, а сервер БД ничего про него не знает. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2021, 20:18 |
|
Нужен совет - логирование талиц
|
|||
---|---|---|---|
#18+
Cola x0125 Сеанс всегда от одного пользователя БД происходит. Кроме того надо значение в тригер передать, не думаю тригер увидит правильную временную таблицу если они все под одним пользователем БД будут создаваться. У меня про пользователя знает только приложение, а сервер БД ничего про него не знает. Вот приложение и должно тем или иным (из описанных в ссылке способов) при соединении с базой передать пользователя в базу. И дальше работать в контексте этого конкретного соединения с базой. Это если конечно нет pgbouncer в режиме transaction pooling... тогда всё становится резко интереснее. Триггер увидит нужную временную таблицу если она была создана в этом конкретном соединении с базой от приложения. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2021, 22:34 |
|
Нужен совет - логирование талиц
|
|||
---|---|---|---|
#18+
Cola x0125 Сеанс всегда от одного пользователя БД происходит. Кроме того надо значение в тригер передать, не думаю тригер увидит правильную временную таблицу если они все под одним пользователем БД будут создаваться. У меня про пользователя знает только приложение, а сервер БД ничего про него не знает. В триггере надо зачитать юзера, а не передавать его туда. Приложение должно, как выше писали, установить юзера, например контекстом вызвать set_config('current_user', 242455, false ) , а триггер может его зачитать например select current_setting('current_user', true) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 09:19 |
|
|
start [/forum/topic.php?fid=53&tid=1993729]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 119ms |
0 / 0 |