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

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

SQL state: 42501

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

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

SQL state: 42501

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


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

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

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

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

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

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

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

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


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

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


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


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

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

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


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