如何在BASH中将JSON文件导入PostgreSQL数据库

时间:2019-03-26 10:30:15

标签: json bash postgresql

我正在处理bash脚本,我需要将JSON文件导入到我的Postgres数据库中。这个JSON文件确实很大,我尝试了不同的方式,但是所有这些都不起作用。 我无法发布JSON文件的示例,因为它确实很大(例如15Mb)

使用bash变量存储数据:

VAR=$(cat cucumber.json.1)
su -c "psql -A -t -d tareas -c \"insert into consulta (url, identificador, fecha, artefacto) values ('UNKNOWN', $identificadorBBDD, '$diaBBDD', :'$VAR')\"" postgres 

它返回参数列表太长,我认为是因为在读取变量时,该命令认为变量刚刚完成,并且破坏了查询的结构。

我试图在postgres lo_import中使用该函数,但是得到了相同的结果。

我使用了一个postgres命令来存储数据,但是没有用:

\set content `cat cucumber.json.1` create temp table t ( j json); insert into t values(:'content');

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

感谢您的帮助。最后,我可以解决在我的.sh

中使用下一个代码了
  

VAR = $(cat黄瓜.json.1)

     

psql postgres:// user:password @ localhost:5432 / tareas << EOF

     

插入consulta(URL,标识,fecha,artefacto)值(“ UNKNOWN”,   ident,'date','$ VAR');

     

EOF

我不知道为什么它不会像以前那样给我同样的错误,但是通过这种方式,查询有效,并将json文件导入数据库。