0
4

2 回答 2

2

没有可用的自动转换,但您可以将 JSON 值转换为记录,以使显示更容易:

select r.*
from prices p
  cross join lateral jsonb_each(p.sub_table) as x(key, value)
  cross join lateral jsonb_to_record(x.value) as r("Name" text, "Price" int, index int, "Date" date)
where r."Name" = 'CompX'

在线示例

于 2020-08-19T20:12:46.807 回答
1

adminer 插件将在json-column某种程度上完成这项工作,因为它将更好地显示 JSON 值。

这是一个docker-compose.yml创建 postgres 容器并将管理员链接到它的最小值。要在 adminer 容器中安装插件,您可以使用ADMINER_PLUGINS如下所示的环境变量:

version: '3'
services:
  db:
    image: postgres
    restart: always
    environment:
      POSTGRES_PASSWORD: example

  adminer:
    image: adminer
    restart: always
    environment:
      - ADMINER_PLUGINS=json-column tables-filter tinymce
    ports:
      - 9999:8080

通过 访问管理员 Web UI localhost:9999。使用用户名: postgres,密码:example 连接到 postgres数据库

当您编辑包含 JSON 列的表时,它将显示如下:

在此处输入图像描述

于 2020-08-19T16:25:03.760 回答