首页 > 解决方案 > PostgreSQL 将 JSONB 列转储到一行 JSON 文件中

问题描述

我知道我总是可以通过某种脚本语言(如Python. 但我试图在这里让事情变得简单。

PostgreSQL数据库中,我有一个表,它保存来自 Twitter 的原始推文的 JSONB 列。我试图将列转储到行 JSON 文件中

psql -U UUU -h HHH -c "COPY rawtwts(tweet) TO stdout CSV QUOTE E'\b' NULL AS ''" | gzip > dump.json.gz

然后我意识到在解析行 JSON 推文文件之前,我需要做一堆tr -dsed修剪转义和奇怪的字符,这真的适得其反。

CSV QUOTE E'\b'允许我过滤转义tr -d '\010'。否则在文本模式下,JSON 将包含以下内容:

, "source": "<a href=\\"https://mobile.twitter.com\\" rel=\\"nofollow\\">Twitter Web App</a>"

对于更简单的方法有什么建议吗?

标签: jsonpostgresql

解决方案


推荐阅读