使用 createdb 命令的非交互式密码



我正在尝试使用以下命令创建一个数据库:

export PGPASSFILE="$HOME/pgpass/platform/.pgpass"
mkdir -p "$(dirname "$PGPASSFILE")"
echo "$db_host:5432:$db_name:platformadmin:$db_pwd" > "$PGPASSFILE"
chmod 600 "$PGPASSFILE"
createdb -h "$db_host" -p 5432 -U 'platformadmin' --no-password "$db_name"

但是我收到此错误:

已创建 B:无法连接到数据库模板 1:fe_sendauth:否 提供密码

如果我删除 --no-password 标志,那么它会提示我输入密码。我以为PGPASS文件会起作用??

我只是用这个代替:

PGPASSWORD="$admin_user_pwd" createdb -U admin_user -h "$db_host" -p 5432 --no-password -e "$db_name"

它奏效了。没有密码文件,只有命令行。

最新更新