为什么 postgres 函数 returns 导致一列?

why postgres functions returns result in one column?

我有一个简单的 PostgreSQL 函数,我应该 return 将值分为单独的列 -115101000005458E6258... 但它 return 是一列,其中两个值是分开的用逗号 -115,101000005458E6258...。我的功能有什么问题?

CREATE OR REPLACE FUNCTION public.get_direction()
RETURNS TABLE(direction integer, geom geometry)             
AS $$
BEGIN
RETURN QUERY SELECT 
    heading-lag(heading) over (order by time) AS direction, a.geom AS geom 
    FROM public.mytable a 
    WHERE reg='125123' 
    GROUP BY heading, a.geom , a.time;
END; $$
LANGUAGE 'plpgsql';

我调用函数

SELECT public.get_direction();

谢谢。

如果您希望将结果作为一组列,则需要:

SELECT * FROM public.get_direction();