Возможно с PostgreSql без триггера, чтобы не допустить обновления столбца, разрешена только вставка.
Полностью не проверено, но, поскольку Postgres SQL поддерживает разрешения на уровне столбцов, похоже, что это может быть.http://www.postgresql.org/docs/current/static/sql-grant.html
Это работает?
GRANT SELECT (col1, col2), INSERT(col1, col2), UPDATE (col1) ON mytable TO userX;