现在有个问题,在shell中通过psql想访问postgreql的数据库,然后把检索结果(多件)存到变量postdata中,后面要循环这个进行项目编辑后更新db
问题是:我要shell中设置db密码,所以用了password这样的写法,但是怎么把select的内容存到postdata中呢?
我梳理下你的需求:
编写一个shell脚本利用psql客户端执行查询,然后将结果赋予postdata这变量,然后调整结果后再执行写入到数据库。
我的观点:这个可能是无法实现的,问题出在psql。这是个交互式的客户端。postdat变量是shell的变量。两者是无法传递的。实现这个目标,你可以尝试换个思路。比如利用python调用数据库驱动,执行查询,将结果授予变量,调整好后,再将数据插入到数据库。据我所知这个python方式实现很简单。如果依然坚持想用shell实现,你估计要考虑换掉调用psql执行查询的思路,换成其他的数据库驱动程序。
这个比较简单啊,只要你安装这个数据库就行了
和上面的一样单条单条执行