2013-03-14 7 views
11

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

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

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

ответ

15

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

+0

круто, это похоже на путь. благодаря! – stellard

5

Нет, но это должно быть довольно тривиально, чтобы писать. Просто настройте триггер ДОПОЛНЕНИЯ, который сравнивает старое поле с новым файлом и делает ошибку RAISE, если они разные. В документах pgSQL есть несколько примеров написания триггерной функции.

Смежные вопросы