在 bash 脚本中执行以下 psql 语句时出现错误:
execlog "psql -h $HOST -p $PORT -U $USER -d $DB -q -c 'CREATE EXTENSION hstore;'"
引发的错误是:
错误:在“'CREATE”第 1 行或附近未终止的带引号的字符串:'CREATE ^
因此,单终止引号没有被识别为应有的状态。当使用转义双引号而不是单引号 (...\"CREATE EXTENSION hstore;\") 我得到同样的错误。直接从命令行执行命令时,一切正常。
有人知道出了什么问题吗?
提供一些附加信息:
操作系统:Ubuntu 11.10,Postgresql 版本:9.1
在此先感谢,理查德
已解决: execlog 函数产生错误。现在我打电话
log "exec psql -h $HOST -p $PORT -U $USER -d $DB -q -c 'CREATE EXTENSION hstore;'"
效果很好!
谢谢你的帮助!