Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Права доступа
|
|||
|---|---|---|---|
|
#18+
Возможно, вопрос чайниковский, но все же. Имею некую таблицу tbl_nail. Хочу сделать так, чтобы все пользователи НЕ могли просто так вставлять записи в эту таблицу, а должны были бы для этого использовать функцию new_nail. Делаю следующее от имени владельца базы по имени vasya: revoke INSERT on tbl_nail from public ; grant EXECUTE on function new_nail to public ; Теперь захожу как petya и говорю: select new_nail ; И получаю в ответ: ERROR: доступ запрещен для связи tbl_nail То есть оно требует наличия привилегии INSERT, даже если вставка выполняется не прямо INSERTом, а изнутри функции. Это я что-то недокрутил, или это такая фича у PostgreSQL? Если это фича, то как мне все-таки добиться своего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2005, 23:33 |
|
||
|
Права доступа
|
|||
|---|---|---|---|
|
#18+
Разобрался сам. Нужно было создавать функцию с опцией SECURITY DEFINER, тогда функция будет работать с правами владельца функции. По умолчанию функция создается с опцией SECURITY INVOKER и, соответственно, работает с правами вызывающего пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 00:55 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=344&tid=2007348]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
28ms |
get tp. blocked users: |
2ms |
| others: | 256ms |
| total: | 359ms |

| 0 / 0 |
