在设计架构时我犯了一个错误。我在应为<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>
的时候创建了一个列jsonb
。有没有办法将数据转换/转换为jsonb[]
?
该列中的数据是文本元素的jsonb数组,它恰好被强制转换为jsonb[]
而不是jsonb
。
类似的东西:
jsonb[]
更大的目标是将该列放入纯pg文本数组select
jsonb_to_jsonb_array(jsonb_col)
from
mytable
中,以便可以对其进行text[]
编辑。我知道如何使用unnest
来做到这一点,但是遇到jsonb[]
的问题。
答案 0 :(得分:1)
此语法对我有用
ALTER TABLE mytable
ALTER COLUMN jsonb_col TYPE JSONB[] USING ARRAY[jsonb_col]::jsonb[];
答案 1 :(得分:1)
使用功能:
create or replace function jsonb_text_array(jsonb)
returns text[] language sql immutable as $$
select array(select jsonb_array_elements_text($1))
$$;
alter table my_table alter jsonb_col type text[] using jsonb_text_array(jsonb_col)