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

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

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

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

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

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

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

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

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


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

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Нужен совет - логирование талиц
    #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
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Нужен совет - логирование талиц
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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