我可以通过ansible剧本执行对postgres的简单选择/删除查询。但是,如果我的查询包含一些单引号,它将失败。如何转义单引号?
例子
运行良好:
command: psql -U dbuser dbname -c 'SELECT count(*) from table;'
我要运行此命令:
command: psql -U dbuser dbname -c 'SELECT count(*) from table where time <= '01-sep-2016';'
但这给了我错误。
不确定在ansible剧本中将如何工作,但是通常有3种方法可以解决此问题:
在查询周围使用双引号
command: psql -U dbuser dbname -c "SELECT count(*) from table where time <= '01-sep-2016';"
使用反斜杠:
command: psql -U dbuser dbname -c 'SELECT count(*) from table where time <= \'01-sep-2016\';'
连续两次使用引号:
command: psql -U dbuser dbname -c 'SELECT count(*) from table where time <= ''01-sep-2016'';'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句