Postgresql 在函数postgres中指定参数

Postgresql 在函数postgres中指定参数,postgresql,function,set,locale,Postgresql,Function,Set,Locale,我有这个功能是postgres 9.5: CREATE OR REPLACE FUNCTION report_summary(lang TEXT) ... BEGIN SET LC_TIME = lang ... 我想把函数中的语言分配给LC_时间。lang是'es_es.UTF-8'等,但不工作。另外,如果lang不存在,请指定默认值: 例: 有什么想法吗 谢谢您必须使用动态查询: EXECUTE 'SET lc_time = ' || quote_ident(lang); 或者更好的方法

我有这个功能是postgres 9.5:

CREATE OR REPLACE FUNCTION report_summary(lang TEXT)
...
BEGIN
SET LC_TIME = lang
...
我想把函数中的语言分配给LC_时间。lang是'es_es.UTF-8'等,但不工作。另外,如果lang不存在,请指定默认值:

例:

有什么想法吗


谢谢

您必须使用动态查询:

EXECUTE 'SET lc_time = ' || quote_ident(lang);
或者更好的方法是,使用
set\u config
更改设置:

PERFORM set_config('lc_time', lang, FALSE);

您必须使用动态查询:

EXECUTE 'SET lc_time = ' || quote_ident(lang);
或者更好的方法是,使用
set\u config
更改设置:

PERFORM set_config('lc_time', lang, FALSE);