Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / уровень вложенности / 5 сообщений из 5, страница 1 из 1
23.07.2018, 15:19
    #39677754
yurii_ch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уровень вложенности
Коллеги, перешерстил все но не нашел ответа - данные в таблицу А вставляются из процедуры , триггер таблицы А вставляет данные в таблицу Б.Напрямую в таблицу Б данные вставлять нельзя. Как определить в триггере на Insert , что вызов идет именно из другого триггера , а не руками ? Есть какая то переменная ?
...
Рейтинг: 0 / 0
23.07.2018, 15:30
    #39677764
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уровень вложенности
yurii_ch,

посмотрите pg_trigger_depth() . Но сам не проверял.
А вообще правами лучше разграничить. Отобрать права на запись таблички, а триггеры/процедуры делать security definer и давать grant кому нужно.
Владельцу таблички придётся доверять, потому что владелец всё равно может дропнуть триггер, сделать что хочет и затем повесить его обратно. Ну аж суперюзер и вовсе может отрубить выполнение триггеров.
...
Рейтинг: 0 / 0
23.07.2018, 15:34
    #39677766
yurii_ch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уровень вложенности
просто я раньше с MSSql работал, там такая переменная была, она позволяла определить уровень. т.е. тригерр 1 вызывает триггер 2, а тот вызывает триггер 3, то уровень 3 соответственно
...
Рейтинг: 0 / 0
23.07.2018, 16:54
    #39677801
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уровень вложенности
yurii_ch,

про глубину вам подсказали.
но это неправильное решение.

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


если хочется поизвращаться -- можно создать роль "реплика-дба" и все "вторичные" данные заливать как реплики (триггером с телом -- собственностью "реплик"--роли, енейбл он реплика ), навесив триггер полного запрета записи как "орижн", всем (но это эстетическое излишество, имхо. там ещё про константы пообчитать и про режимы триггеров) --ттогда при тупой попытке записи супер сначала обломается, потом увидит свои триггерочки и вспомнит, авось, зачем они там
...
Рейтинг: 0 / 0
23.07.2018, 16:57
    #39677804
big-trot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уровень вложенности
Никак
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / уровень вложенности / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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