Python Postgres:返回由整数组成的复合对象作为整数数组的函数

Python Postgres:返回由整数组成的复合对象作为整数数组的函数,python,arrays,postgresql,sqldatatypes,Python,Arrays,Postgresql,Sqldatatypes,与博士后11一起工作, 所以我有一个名为bbox的复合数据类型,它由一个名为tube_samples的表中的4个整数(x,y,width,height)组成 我想创建一个函数,将该表中的数据与其他表中的数据一起返回(使用内部联接),但将bbox复合类型分解为整数数组/元组(我使用的是python API中的该函数) 这就是我的工作: create function get_gt_data(clip_name text, OUT tube_id integer, OUT frame intege

与博士后11一起工作, 所以我有一个名为bbox的复合数据类型,它由一个名为tube_samples的表中的4个整数(x,y,width,height)组成

我想创建一个函数,将该表中的数据与其他表中的数据一起返回(使用内部联接),但将bbox复合类型分解为整数数组/元组(我使用的是python API中的该函数)

这就是我的工作:

 create function get_gt_data(clip_name text, OUT tube_id integer, OUT frame integer, OUT bbox bbox, OUT object_type text, OUT done boolean, OUT statis boolean) returns SETOF record
  language SQL as $$
       select S.tube_id, S.frame, S.bbox, B.objecttype, B.done, B.static
       from tube_samples S
            INNER JOIN brief_gt B ON B.tube_id = S.tube_id
            INNER JOIN tubes T  ON B.tube_id = T.tube_id
            INNER JOIN videos V ON V.video_id = T.video_id and V.video_name = clip_name
  $$;
上述函数以字符串形式返回bbox(例如“['1'、'2'、'3'、'4']”) 我想要的是返回一个整数数组, 尝试将bbox的返回类型更改为整数数组,但无法将该复合数据类型转换为整数数组。 所需的结果应该是该参数的元组/整数列表,例如[1,2,3,4],而不是上述参数


谢谢。

此函数不会以字符串形式返回bbox,而是返回bbox。python包装器将其解释为字符串。您希望此函数返回数组还是希望python中的元组或列表?如果是后者(您使用的是psycopg2),请注册复合类型:谢谢,这就是我要找的,它可能不是SQL查询的一部分,但已经足够好了。