.sh脚本错误问题

.sh脚本错误问题

我有一个 sh 脚本,用它连接到 postgres DB 并执行 psql 命令。脚本如下所示:

/opt/postgres/9.2/bin/psql pcwh  -U  pcwhuser << EOF 
 \i /opt/emms/emsam/tmp/tmp1438861364196.psql 
EOF

当我尝试运行此 sh 文件时,出现错误“找不到文件”。如果我从命令行手动执行这些语句,它可以工作,但我也需要它们从脚本中执行此操作。

答案1

用户应该是数据库用户。谁拥有访问 pgsql 数据库的凭据。
使用确认su - <dbuser>

然后运行脚本,因为您的脚本中 \i /opt/emms/emsam只能运行有权访问数据库的用户。

相关内容