postgresql - 使用 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"
但我收到此错误:
createdb:无法连接到数据库模板 1:fe_sendauth:未提供密码
如果我删除 --no-password 标志,那么它会提示我输入密码。我认为 PGPASSFILE 会工作?
解决方案
我只是用这个代替:
PGPASSWORD="$admin_user_pwd" createdb -U admin_user -h "$db_host" -p 5432 --no-password -e "$db_name"
它奏效了。没有密码文件,只有命令行。
推荐阅读
- r-markdown - 如何将字符串扩展为 r-markdown 代码?
- python - 指定推文 Tweepy 返回的数量
- python - 具有强制非零 y 截距的线性回归
- python - 从“列表”和“列表列表”中创建两个单独的“列表列表”
- python - 我正在创建自己的猜测名称,但程序没有启动
- rust - 为什么借阅检查器认为内容的寿命不够长?
- python - Python/Django/MySQL 优化
- r - 使用 R (officer package) 更新 Word 文本框中的文本
- windows - 如何让我的 MSIX 安装程序将我的 CLI 应用程序二进制文件添加到 PATH?
- java - Try.of() 失败时如何抛出异常?