私は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.
誰でもこれを解決する方法を知っていますか?...または代替ソリューションはありますか? どうもありがとう、フアン