首页 > 解决方案 > 如何在 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 行。

标签: jsonpostgresqlpsql

解决方案


你的数据在那里。psql 正在将行发送到寻呼机(可能more?),并且寻呼机无法很好地处理它,因为它太大了。您可以关闭寻呼机(\pset pager off在 psql 内)或将寻呼机设置为更好的程序(PAGER=less 或 PSQL_PAGER=less 作为环境变量),但实际上这些对于查看巨大的 JSON 数据都没有那么有用。

你在 PostgreSQL 中有你的数据,现在你想用它做什么?仅仅在 psql 的寻呼机中查看它不太可能有趣。


推荐阅读