It occurs to me that we also need a better term for the overall concept.
"cacheability" has misled at least two people (that I can recall) into
thinking that we maintain some kind of function result cache --- which
is not true, and if it were true we'd need the term "cacheable" for
control parameters for the cache, which this categorization is not.
I am thinking that "mutability" might be a good starting point instead
of "cacheability". This leads immediately to what seems like a fairly
reasonable set of names:
pg_proc column: promutable or proismutable
case 1: "immutable"
case 2: "mutable", or perhaps "stable"
case 3: "volatile"
Thoughts?
regards, tom lane