在 PostgreSQL 中如何使用 `jsonb` 存储多维数组?
时间: 2024-12-02 13:17:35 浏览: 13
PostgreSQL中使用数组改进性能实例代码
在 PostgreSQL 中,`jsonb` (JSON Binary) 类型非常适合存储和处理复杂的嵌套数据,包括多维数组。要使用 `jsonb` 存储多维数组,你可以将每个数组作为 `jsonb` 对象的一个键对应的值。例如:
```sql
CREATE TABLE my_table (
data jsonb
);
INSERT INTO my_table (data)
VALUES ('{"dim1": [{"dim2": [1, 2, 3]}, {"dim2": [4, 5, 6]}]}'::jsonb);
```
在这个例子中,`data` 列就是一个包含两层维度的数组:第一层是一个名为 `dim1` 的数组,第二层是 `dim2` 的数组。
当你需要访问或操作这些多维数组时,可以像操作普通的 JSON 对象一样,使用 `->>` 操作符或者函数如 `jsonb_array_elements_text` 或 `jsonb_path_query`。比如查询 `dim1` 的第一个元素的 `dim2` 内容:
```sql
SELECT jsonb_path_query(data, '$.dim1[0].dim2') FROM my_table;
```
阅读全文