从远程机器使用保存的密码连接到远程 Postgres 数据库的 psql。
从远程机器使用保存的密码连接到远程 Postgres 数据库的 psql。
我在一个远程Unix机器上工作,通过SSH从本地机器连接。在另一台主机上有一个Postgres数据库,我需要使用psql从我的远程机器连接。
我希望能够从输入文件运行查询并将结果保存到输出文件中,但我没有成功自动设置密码,超越了每次运行查询时需要进行密码验证的需要。
我尝试了以下方法:
- 使用我的
用户名
,密码
,主机名
,端口号
和数据库
值运行psql "user=username password=password host=hostname port=port dbname=database"`
这个方法还可以,但我没有找到为输入/输出文件添加参数的方法(不需要通过Postgres交互环境)。
- 根据另一个SO问题,我创建了一个格式如下的文件:
hostname:port:database:username:password
然后运行
chmod 0600 ~/.pgpass
,但当连接时:psql -h hostname -U username -d database -w
psql忽略了这个文件(我收到了以下身份验证失败的消息)。psql:fe_sendauth:未提供密码。
请注意,我的远程机器名称与我的用户名不同,因此在创建
.pgpass
文件时可能还会出现问题。还有其他方法可以做到吗?
有什么想法吗?
admin 更改状态以发布 2023年5月24日