如何解决通过复制脚本进行Postgres导出不喜欢导入时带有引号的json
我正在尝试使用以下脚本迁移存储在Postgres数据库中的一些json块。它们在大多数情况下都能正常工作,但在一些数据集上却失败(我认为在json中双引号的数据集上)。基本上,我尝试使用导出脚本(将数据复制到文件中)和导入脚本(将目标中的json的目标节点定位到目标数据库中,并用我的新数据重写该节点),将一些批准的json单个块提升到产品数据库中
我认为那些失败的数据集是json数据中包含双引号的数据集。此处显示了带引号的json如何导出的示例。我认为问题是复制功能写出(转义)该数据的方式。我对此猜测的原因是1)只有失败的记录似乎才是数据中的引号2)解析引号转义区域中的json时,一些json工具失败。
"description": "See the chapter \\"Key fields\\" for a general description of keys.
如何调整脚本,使其对json中存储的数据类型更友好?
导出
psql -h demo_ip -c "\COPY (select f_values from view_export_f where id = '$id' and f_kind='$f_kind') TO '/tmp/demo.json'"
导入
psql -h prod_ip -ef "import.psql" -v ex="$ex"
import.psql
\set json_block `cat /tmp/demo.json`
UPDATE data
SET value= jsonb_set(value,'{json_location}',value->'json_location' || (:'json_block'),true) where id=(:'ex')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。