Подтвердить что ты не робот

Postgresql, Ограничить обновление для определенных столбцов (только для чтения)

Возможно ли, что postresql ограничивает/предотвращает обновление для конкретной записи, если обновление включает изменения в определенные столбцы?

Как это будет реализовано. Триггер/ограничение? Каким будет наиболее эффективный способ реализации этого?

Я использую версию 9.1

4b9b3361

Ответ 1

Самый простой способ - создать триггер BEFORE UPDATE, который будет сравнивать строки OLD и NEW и RAISE EXCEPTION, если изменение в строке запрещено.

Ответ 2

Нет, но это должно быть довольно тривиально писать. Просто настройте триггер BEFORE UPDATE, который сравнивает старое поле с новым файлом и делает ошибку RAISE, если они разные. В документах pgSQL есть несколько примеров написания триггерной функции.