json - 如何在 PostgreSQL 中导入 JSON 文件:COPY 1
问题描述
我是 PostgreSQL 的新手。我正在尝试将 JSON 文件导入 PostgreSQL 表。我创建了一个空表:
covid19=# CREATE TABLE temp_cov(
covid19(# data jsonb
covid19(# );
并尝试使用命令行中的以下命令从该表中的 JSON 复制我的数据:
cat output.json | psql -h localhost -p 5432 covid19 -U postgres -c "COPY temp_cov (data) FROM STDIN;"
输出只是“COPY 1”,当我在 psql 中打开我的表时
SELECT * FROM temp_cov;
但是这个命令没有结束并且有这个输出。
不幸的是,我找不到答案或一些类似的问题解决方案。预先感谢您的建议。
此外,我的 json 文件已经被修改为“不漂亮”的形式,并且它有超过 11k 行。
解决方案
你的数据在那里。psql 正在将行发送到寻呼机(可能more
?),并且寻呼机无法很好地处理它,因为它太大了。您可以关闭寻呼机(\pset pager off
在 psql 内)或将寻呼机设置为更好的程序(PAGER=less 或 PSQL_PAGER=less 作为环境变量),但实际上这些对于查看巨大的 JSON 数据都没有那么有用。
你在 PostgreSQL 中有你的数据,现在你想用它做什么?仅仅在 psql 的寻呼机中查看它不太可能有趣。
推荐阅读
- sql-server - 无法理解此 SQL 代码中 sortpath 列的执行
- javascript - 在谷歌地图位置触发点击事件
- swift - swift 语言中是否有任何现有机制可以通过单个队列中的闭包来级联函数调用?
- candidate-key - 从一组超级键中找到所有可能的候选键?
- dart - 以固定 maxLines 开头并随着用户类型增长的文本字段
- ios - 我无法从 App Store Connect 和 Xcode 下载 dSYM 文件
- c# - Lottie Animations JSON 动画文件未找到异常 Xamarin Android
- azure - 将文件从 azure vm 移动到 azure 文件存储
- c# - 无法等待无效 - 异步方法 C# 中的参数
- dart - 如何从 Flutter(Dart) 中的另一个类调用方法?