Index expressions are relatively expensive to maintain, because the derived expression(s) must be computed for each row upon insertion and whenever it is updated
I'd like to get an idea on "relatively expensive". For instance, compared to a partial index, which is split on one or more boolean values. As opposed to making a function for this that serves the same identical calculation.
Let's say that over the lifetime of a row, it rarely gets updated more than 2000 times, and the majority of this is right after creation?