postgresql – 如何在Postgres中将类型拆分为多个列?

我有以下代码从pl / python返回多个值:
CREATE TYPE named_value AS (
  name   text,value  integer
);
CREATE or replace FUNCTION make_pair (name text,value integer)
  RETURNS named_value
AS $$
  return [ name,value ]
$$LANGUAGE plpythonu;

select make_pair('egg',4) as column;

输出是:

column
(egg,4)

我想要做的是将输出分成两个单独的列.像这样:

column,column2
egg,4

我该怎么做呢?用Google搜索了1个小时让我无处可去.所以我希望最后会添加一些搜索关键字:
多个返回值多个结果多列不需要列表不需要设置

是的,这个语法有点古怪,需要额外的括号:
select (make_pair('egg',4)).name

要从输出获取多个组件而只调用一次该函数,可以使用子选择:

select (x.column).name,(x.column).value from (select make_pair('egg',4) as column) x;

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...