digoal/blog

ERROR: functions in index expression must be marked IMMUTABLE

lcp580 opened this issue · 1 comments

ERROR: functions in index expression must be marked IMMUTABLE

create or replace function xx
....
immutable;

因为表达式索引内存储的是表达式的值, 如果在不同时间, 不同事务, 不同会话等情况下发起请求, 同一个表达式同样的参数得到的结果存在不一致的结果, 索引检索会破坏数据库一致性的原则, 因此必须是immutable函数才被允许创建表达式索引.