gpt4 book ai didi

linux - 在 shell 脚本中访问两个不同的 Postgres 数据库时出现密码问题

转载 作者:太空狗 更新时间:2023-10-29 12:06:02 25 4
gpt4 key购买 nike

我正在编写一个 shell 脚本,它将从一台服务器执行 pg_dump,稍后它将把转储恢复到另一台服务器上的数据库中。

为了访问第一台服务器上的 Postgres 数据库,我使用 export PGPASSWORD 以避免密码提示。

当我在第二台服务器的 Postgres 数据库上执行恢复时,系统提示我输入用户密码。我试图重新声明 export PGPASSWORD(因为这个数据库的密码不同),但这不起作用。我怀疑这与我必须双 SSH 跃点才能访问第二个数据库这一事实有关:

export PGPASSWORD=******
perform pg_dump
...
export PGPASSWORD=********
cat out.sql | ssh -i .ssh/server1.pem root@dev.hostname.com "ssh -i .ssh/server2 \
0.0.0.0 psql -U postgres -h localhost -p 5432 DBNAME"

以上结果:

Password for user postgres:
psql: FATAL: password authentication failed for user "postgres"

有人有什么建议吗?谢谢!

最佳答案

您可以在您的主目录中创建一个名为 .pgpass 的文件并在那里提供密码详细信息:

喜欢:

猫.pgpass

主机名:端口:数据库:用户名:密码

localhost:2323:test_db:test_user:test123**

试试这个。希望你的问题能得到解决。

关于linux - 在 shell 脚本中访问两个不同的 Postgres 数据库时出现密码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12112654/

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