8.3.7 VOLATILE, IMMUTABLE, STABLE (函数的易变性) PostgreSQL 8.3:理解函数易变性(VOLATILE, IMMUTABLE, STABLE) 易变性的定义 函数的易变性描述了函数返回值在多次调用之间可能发生的变化程度。PostgreSQL提供了三种易变性级别: VOLATILE (易变性):这是默认的易变性级别。 函数可以在每次调用时返回不同的结果,即使使用相同的输入参数。这类函数通常依赖于数据库的状态、系统时间或其他外部因素。 STABLE (稳定性): 函数在同一个查询中,对于相同的输入参数,保证返回相同的结果。但是,在不同的查询中,或者在查询的不同执行计划中, 函数可能会返回不同的结果。