Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Нужен совет - логирование талиц / 5 сообщений из 5, страница 1 из 1
30.10.2021, 12:01
    #40108252
Cola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет - логирование талиц
В общем нужно логировать изменения в таблицах. Сразу напрашивается решение - навесить тригер и лить лог в специальную таблицу. Но есть нюанс - нужно понимать кто эти изменения сделал. Тригер ничего не знает о пользователе, который залогинился в приложении (не путать с пользователем БД).
Вот думаю как сие реализовать. У кого какие мысли есть?
Всем за ранее благодарна!
...
Рейтинг: 0 / 0
30.10.2021, 23:37
    #40108345
x0125
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет - логирование талиц
Использовать Customized Options.

https://habr.com/ru/post/44015/

аля контекст сеанса Oracle
...
Рейтинг: 0 / 0
31.10.2021, 20:18
    #40108495
Cola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет - логирование талиц
x0125
Использовать Customized Options.

https://habr.com/ru/post/44015/

аля контекст сеанса Oracle

Сеанс всегда от одного пользователя БД происходит. Кроме того надо значение в тригер передать, не думаю тригер увидит правильную временную таблицу если они все под одним пользователем БД будут создаваться. У меня про пользователя знает только приложение, а сервер БД ничего про него не знает.
...
Рейтинг: 0 / 0
31.10.2021, 22:34
    #40108516
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет - логирование талиц
Cola
x0125
Использовать Customized Options.

https://habr.com/ru/post/44015/

аля контекст сеанса Oracle

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


Вот приложение и должно тем или иным (из описанных в ссылке способов) при соединении с базой передать пользователя в базу.
И дальше работать в контексте этого конкретного соединения с базой.
Это если конечно нет pgbouncer в режиме transaction pooling... тогда всё становится резко интереснее.
Триггер увидит нужную временную таблицу если она была создана в этом конкретном соединении с базой от приложения.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
28.12.2021, 09:19
    #40123518
kliff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет - логирование талиц
Cola
x0125
Использовать Customized Options.

https://habr.com/ru/post/44015/

аля контекст сеанса Oracle

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


В триггере надо зачитать юзера, а не передавать его туда.

Приложение должно, как выше писали, установить юзера, например контекстом вызвать set_config('current_user', 242455, false )
, а триггер может его зачитать например select current_setting('current_user', true)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Нужен совет - логирование талиц / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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