postgres密码少连接无法从shell脚本工作

时间:2013-05-16 02:44:33

标签: postgresql shell psql

我在.pgpass文件中输入了必填项,文件权限设置为0600。

我可以在不提供密码的情况下连接到db form shell命令行。

但是当我运行一个内部查询postgres的shell脚本时,它要求输入密码。

我无法弄清楚可能出现的问题。

以下是一个示例shell脚本:

#!/bin/bash
source $1
psql -h $DBHOST -d $DBNAME -U $DBUSER << EOF
        select * from students limit 10;
EOF

DBHOST,DBNAME和DBUSER的所有值都很好。

1 个答案:

答案 0 :(得分:2)

没关系。

我犯了一个愚蠢的错误。我在Windows上编辑了配置文件。所以它在每一行的末尾添加了crlf。因此即使它不可见,它也会在连接到postgres时被使用。

所以在命令行中 这很有效。

psql -h 192.168.1.45 -d somedbname -U $somedbuse

但事实并非如此。 (在获取配置文件后)

psql -h $DBHOST -d $DBNAME -U $DBUSER