如何解决无法通过bash脚本登录到Postgres
我有一个脚本,其中给出了以下命令-
su-postgres
psql
\ c db1;
从员工中选择*;
但是当我运行脚本时,我无法进入psql,它会在第一个命令“ su-postgres”后弯腰
[root @ quadoralnx〜]#./ora.sh
上次登录时间:2020年8月25日星期二01:23:59 EDT 2020在pts / 11上
-bash-4.2 $
当我退出时,出现以下错误-
-bash-4.2 $退出
退出
psql:错误:无法连接到服务器:致命:角色“根”没有 存在
./ ora.sh:第3行:c:未找到命令
./ ora.sh:第4行:意外标记'from'附近的语法错误
./ ora.sh:第4行:“从员工中选择*;”
[root @ quadoralnx〜]#
所以在这里我需要的是它不应该在第一步中停止,而应该一次性运行该脚本中的所有命令。 有人可以帮我吗?
提前谢谢!
解决方法
它不会像这样工作。使用以下语法从bash cli运行sql查询:
dbhost=localhost
dbport=5432
dbuser=postgres
dbname=postgres
psql -h$dbhost -p$dbport -U$dbuser -d$dbname -c "select 1;"
为避免输入密码,您可以像这样创建~/.pgpass
文件
dbpass=secret
echo "$dbhost:$dbport:$dbname:$dbuser:$dbpass" > ~/.pgpass
chmod 600 ~/.pgpass
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。