PostgreSQL 中打印函数执行时间
打印函数执行时间
方法
CREATE OR REPLACE FUNCTION func_proxy_show_time(func_name varchar) RETURNS INTEGER AS $BODY$ DECLARE str varchar; BEGIN raise notice '------------------------------------------------------begin:timestamp=%, func=%',clock_timestamp(), func_name; execute format('select %s();',func_name); raise notice '------------------------------------------------------end:timestamp=%, func=%',clock_timestamp(), func_name; RETURN 0; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; CREATE OR REPLACE FUNCTION func_test() RETURNS INTEGER AS $BODY$ DECLARE BEGIN RETURN 0; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; select * from func_proxy_show_time('func_test'); 复制代码
测试
select * from func_proxy_show_time('func_test'); NOTICE: ------------------------------------------------------begin:timestamp=2020-05-12 19:53:23.394334+08, func=func_test NOTICE: ------------------------------------------------------end:timestamp=2020-05-12 19:53:23.394398+08, func=func_test func_proxy_show_time ---------------------- 0 (1 row)