在bash脚本中执行Postgresql命令

时间:2013-07-16 07:04:34

标签: linux postgresql shell

我编写了一个shell脚本来执行postgresql命令。问题是,当我执行此脚本时,它显示错误:line 17: psql: command not found

我的脚本如下:

export PGPASSWORD=${PGPASSWORD-my_password}
echo "enter host"
read host
echo "enter database name"
read dbname
echo "enter username"
read username
psql -h $host $dbname $username <<EOF
SELECT * FROM test ; >>res.txt
EOF

( cat res.txt) | sed 's/;/<tab>/g' > $file.csv
rm res.txt
unset PGPASSWORD

请告诉我我做错了什么。

1 个答案:

答案 0 :(得分:0)

使用

找到psql二进制文件
which psql

你会得到像

这样的输出
/usr/bin/psql

现在您可以在脚本中使用完整路径或扩展$ PATH

简短的说明!不要在脚本中保存密码。如果您需要某些用户的(psql)密码,则应将其保存在.pgpass

host:db:user:password

并给予适当的许可(即0600)

相关问题