【发布时间】:2018-01-11 17:28:12
【问题描述】:
是否有返回 PostgreSQL 函数 名称的特殊变量,类似于 triggers 的特殊变量 TG_NAME?
【问题讨论】:
标签: postgresql function variables
是否有返回 PostgreSQL 函数 名称的特殊变量,类似于 triggers 的特殊变量 TG_NAME?
【问题讨论】:
标签: postgresql function variables
从 9.4 开始,我相信我们有 PG_CONTEXT:
https://www.postgresql.org/docs/current/static/plpgsql-control-structures.html
CREATE OR REPLACE FUNCTION inner_func() RETURNS integer AS $$
DECLARE
stack text;
BEGIN
GET DIAGNOSTICS stack = PG_CONTEXT;
RAISE NOTICE E'--- Call Stack ---\n%', stack;
RETURN 1;
END;
$$ LANGUAGE plpgsql;
为了解析函数名的上下文,使用substring(stack from 'function (.*?) line'),如
https://stackoverflow.com/a/32016935/5315974
【讨论】: