gpt4 book ai didi

windows - psql 要求输入密码并且不从 pgpass.conf 中读取

转载 作者:可可西里 更新时间:2023-11-01 10:42:15 28 4
gpt4 key购买 nike

我已经在 Windows 服务器环境中安装了我的 Postgresql 数据库。我想使用 Windows Task scheduler 安排每晚运行的作业,因此我需要运行以下命令而不要求输入密码:

psql -U myUserName-d myDBName -c "select MyFunctionName()"

当我在 cmd shell 中运行上述查询时,它要求我输入密码。当我手动输入密码时,功能正确运行。

所以我的解决方案是从 pgpass.conf 文件中读取,因此不需要密码。

以下是我为实现这一目标所做的事情:

我在 %appdata% 中创建的目录中创建了 pgpass.conf 文件(准确地说是 AppData\Roaming\postgresql ).

文件内容如下:

localhost:5432:myDBName:myUserName:myPassword

我也尝试过使用值 127.0.0.1 而不是上面的 localhost

然后,我添加了一个名为 PGPASSFILE 的环境变量(在 administrator 的用户变量 列表中)并给它 pgpass.conf 位置。

;C:\Users\administrator\AppData\Roaming\postgresql\pgpass.conf

最后,我停止并重新启动了 Windows 服务上的 Postgres 服务,然后重新运行命令。但它仍然要求输入密码。

如何让我的命令知道从哪里读取密码?

最佳答案

如果您不想设置 PGPASSFILE 环境变量,请将密码文件放在标准位置 %APPDATA%\postgresql\pgpass.conf 中,如下所述the documentation .

关于windows - psql 要求输入密码并且不从 pgpass.conf 中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46630849/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com