我是 python 新手,我正在尝试在 pl/python 中进行一些服务器编程(以实现更快的处理),经过多次尝试,我决定在此列表中寻求帮助。
我想通过传递一个vessel_speed创建的类型从另一个调用一个pl/python函数
CREATE TYPE vessel_speed AS (
mmsi integer,
sog real[]
);
CREATE OR REPLACE FUNCTION dummy(c_vessel vessel_speed)
RETURNS real[]
AS $$
return c_vessel["sog"]
$$ LANGUAGE plpython3u;
我正在尝试以这种方式从另一个 pl/python 调用虚拟函数:
st = "SELECT dummy(($1,ARRAY[$2])::vessel_speed)"
pst = plpy.prepare(st, ["integer", "real[]"])
rv = plpy.execute(pst, [112, (1.2,3.1)])
返回错误:
ERROR: spiexceptions.FeatureNotSupported: cannot convert multidimensional array to Python list
Estado SQL:0A000
Detalle:PL/Python only supports one-dimensional arrays.
任何人都知道如何解决这个问题?...或任何替代解决方案?非常感谢,胡安