Ограничение на редактирование поля

sanringo
Дата: 27.01.2015 11:56:54
Допустим мы вставили новую запись в таблицу tab. Как теперь запретить редактирование значения tab.name?
tadmin
Дата: 27.01.2015 12:08:02
sanringo,

http://www.postgresql.org/docs/9.4/static/sql-grant.html
column level permissions

GRANT SELECT (id, name) ON table TO PUBLIC; 
REVOKE UPDATE (name) ON table from PUBLIC; 
sanringo
Дата: 27.01.2015 12:39:21
tadmin, не работает
tadmin
Дата: 27.01.2015 12:42:24
sanringo,

Догадываюсь, но тоже не скажу вам подробности. Кому они интересны?
sanringo
Дата: 27.01.2015 12:45:17
мне
tadmin
Дата: 27.01.2015 12:48:33
У вас "не работает", но деталей вы не сообщаете. Кто ж вам поможет, телепаты?
Дайте DDL и скрипт, который воспроизводит суть проблемы.
sanringo
Дата: 27.01.2015 12:58:52
Выполнил

GRANT SELECT (id, name) ON table TO PUBLIC;
REVOKE UPDATE (name) ON table from PUBLIC;

Однако, всё равно могу выполнять UPDATE над name
tadmin
Дата: 27.01.2015 13:20:30
Ну вы совсем не ленивый. Каким пользователем соединяетесь к базе? Если это postgres, ему плевать на права.
Создайте юзера, отзовите от него роль и приложите ПОЛНЫЙ скрипт - от создания таблицы до команды update....
sanringo
Дата: 27.01.2015 18:21:56
Да, действительно пользователь был postgres.
Спасибо, tadmin