Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Триггер для PG_Shadow / 10 сообщений из 10, страница 1 из 1
14.03.2020, 16:48
    #39937422
SvetaCh93
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер для PG_Shadow
Доброго времени суток!
Есть задание написать триггер для PG_Shadow, но создание триггера падает с ошибкой:

ERROR: ОШИБКА: доступ запрещён: "pg_shadow" - это системный каталог

SQL state: 42501

Вопрос: у меня не хватает прав или к системным каталогам невозможно создать триггер?
Дело в том, что я и так захожу под супером.
...
Рейтинг: 0 / 0
14.03.2020, 20:37
    #39937454
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер для PG_Shadow
SvetaCh93
Доброго времени суток!
Есть задание написать триггер для PG_Shadow, но создание триггера падает с ошибкой:

ERROR: ОШИБКА: доступ запрещён: "pg_shadow" - это системный каталог

SQL state: 42501

Вопрос: у меня не хватает прав или к системным каталогам невозможно создать триггер?
Дело в том, что я и так захожу под супером.


Невозможно.
...
Рейтинг: 0 / 0
14.03.2020, 20:42
    #39937456
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер для PG_Shadow
просто нельзя
по определению это системные таблицы (даже представления), "создаются" в момент установки бд

почему именно нужен триггер на pg_shadow?
какое событие интересует конкретно?
...
Рейтинг: 0 / 0
16.03.2020, 10:48
    #39937750
SvetaCh93
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер для PG_Shadow
Alex_Ustinov,

Конкретно интересует смена пароля:
Если у пользователя сменился пароль, должен сработать триггер на запись в определенную таблицу.
...
Рейтинг: 0 / 0
16.03.2020, 12:26
    #39937788
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер для PG_Shadow
SvetaCh93
Alex_Ustinov,

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

То триггер на pg_shadow никогда бы не сработал всё равно. Потому что в эту view никто не пишет.

Объекты системного каталога защищены от модификации. Способ отключения этой защиты есть, но лучше я его называть не стану. Кто понимает что делает - найдёт его в guc.c
Всё равно триггеры при alter user не вызываются.

Посмотрите на object_access_hook. Уровень extension на C.
Ну и check_password_hook ещё возможно подойдёт
...
Рейтинг: 0 / 0
16.03.2020, 12:46
    #39937792
Lonepsycho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер для PG_Shadow
SvetaCh93

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


у вас юзера напрямую в базе меняют пароли?
...
Рейтинг: 0 / 0
17.03.2020, 14:37
    #39938279
SvetaCh93
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер для PG_Shadow
Lonepsycho
SvetaCh93

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


у вас юзера напрямую в базе меняют пароли?


Нет, через наше приложение.
...
Рейтинг: 0 / 0
17.03.2020, 21:42
    #39938465
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер для PG_Shadow
SvetaCh93,

pg_shadow вьюха к pg_authid, это системный "словарь"....
только если логирование через свою таблицу Пользователей, на нее вешать триггер, с созданием, альтером и удалением юзера
как то так делают
...
Рейтинг: 0 / 0
25.03.2020, 13:22
    #39940969
SvetaCh93
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер для PG_Shadow
Спасибо всем за ответы!
Руководитель пока снял эту задачу, когда узнал про сложности ее выполнения.
...
Рейтинг: 0 / 0
25.03.2020, 13:31
    #39940975
Lonepsycho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггер для PG_Shadow
SvetaCh93,

так сложности нету. делаем функцию которая будет создавать/менять/удалять пользователей и в этой функции делаем что вам нужно.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Триггер для PG_Shadow / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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