PostgreSQL函数名称作为变量类似于TG_NAME?

时间:2018-01-11 17:28:13

标签: postgresql function variables

是否有一个特殊变量返回PostgreSQL 函数的名称,类似于触发器的特殊变量TG_NAME

1 个答案:

答案 0 :(得分:0)

截至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