我没有在PostgreSQL文档中找到有关translate()
函数分类的任何信息。它被归类为不变函数吗?
答案 0 :(得分:2)
查询系统目录pg_proc
:
provolatile
告诉函数的结果是仅取决于其输入自变量还是受外部因素影响。对于“不变”功能,它是 i ,对于相同的输入,它们总是提供相同的结果。它是“稳定”功能的 s ,其结果(对于固定输入)在扫描中不会改变。它是“易失性”功能的 v ,其结果可能随时更改。
select proname, pronamespace::regnamespace, provolatile
from pg_proc
where proname = 'translate'
proname | pronamespace | provolatile
-----------+--------------+-------------
translate | pg_catalog | i
(1 row)
或者,使用函数pg_get_functiondef():
select pg_get_functiondef('pg_catalog.translate'::regproc)
pg_get_functiondef
-------------------------------------------------------------------
CREATE OR REPLACE FUNCTION pg_catalog.translate(text, text, text)+
RETURNS text +
LANGUAGE internal +
IMMUTABLE STRICT +
AS $function$translate$function$ +
(1 row)