是否可以在 Postgres 13 中定义递归复合类型?
create type "t" as (
"a" int,
"b" t
);
我知道我可以使用具有父子关系的表。唯一的缺点是我需要查询每个嵌套级别,而不是直接访问嵌套数据。
我也知道我可以使用jsonb
,但我不确定它是否可以直接访问嵌套数据而不查询每个嵌套级别?
仅使用 PL/pgSQL 的其他替代方案是什么?
我需要分别访问每个嵌套级别。
是否可以在 Postgres 13 中定义递归复合类型?
create type "t" as (
"a" int,
"b" t
);
我知道我可以使用具有父子关系的表。唯一的缺点是我需要查询每个嵌套级别,而不是直接访问嵌套数据。
我也知道我可以使用jsonb
,但我不确定它是否可以直接访问嵌套数据而不查询每个嵌套级别?
仅使用 PL/pgSQL 的其他替代方案是什么?
我需要分别访问每个嵌套级别。
不,“递归”类型定义在 Postgres 中是不可能的。
您不能引用
CREATE TYPE
尚未注册的类型。(无论如何会终止递归?)