首页 > 解决方案 > 将动态 JSONB 映射到 postgres 中的固定表

问题描述

我的问题很简单。我有一个 postgres 函数,它返回多个具有不同键的平面 JSONB 对象,例如:

{key1: "value1a"}
{key1: "value1b", key2: "value2b"}
{key2: "value2c"}

我想将这些对象表示为一个表,合并所有 JSONB 对象,以便可以对它们执行“正常”(非 JSONB)postgres 操作,就好像它们是一个表一样:

key1    | key2
------------------
value1a | NULL
value1b | value2b
NULL    | value2c

本质上,我想要一个具有动态返回值的 postgres 函数,我知道这是不可能的。我已经看到了一些具有 2 步功能的变通方法,但这些似乎不太可行。理想情况下,用户应该只有一个 postgres 函数,而不知道它背后是 JSONB 对象。

这是可能的,还是有任何想法如何实现这一目标?

标签: postgresqljsonb

解决方案


推荐阅读