gpt4 book ai didi

sql - postgres 9.1 上的 row_to_json

转载 作者:行者123 更新时间:2023-11-29 13:01:49 25 4
gpt4 key购买 nike

我在本地开发环境中编写了以下查询,没有意识到我本地开发环境中的 postgres 版本是 9.3+,但在生产环境中只有 9.1。我对升级生产 postgres 犹豫不决。有什么办法可以编写与 9.1 兼容的以下查询吗?我相信 row_to_json 是问题所在。是否有 9.1 等价物?架构是 SalesOrders 有许多 SalesOrderItems。每个 SalesOrderItem 都有很多 mdns。当在 9.3 上运行时,下面返回一个很好的紧凑嵌套 JSON 对象。

select row_to_json(t)   
from (select s.*,
( select array_to_json(array_agg(row_to_json(d)))
from ( select soi.* , (select array_to_json(array_agg(row_to_json(e)))
from( select m.* FROM "Mdns" m where m."SalesOrderItemId" = soi.id) e) mdns
from "SalesOrderItems" soi where soi."SalesOrderId" =s.id ) d
) as order_items
from "SalesOrders" s where s.order_id = 'SO-83562-0185') t

最佳答案

9.2 的 json 函数向后移植到 9.1 available as an extension called json91 .

不过,一般来说,针对比您在生产环境中运行的更新版本的数据库进行开发是个坏主意。你会一直遇到这样的问题。

如果您想使用 json 功能,您需要计划升级到 9.4; PostgreSQL 的 json 支持在每个版本中都在不断改进。

关于sql - postgres 9.1 上的 row_to_json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27696398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com