我正在处理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');
感谢您的帮助。
答案 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文件导入数据库。