あるサーバーから pg_dump を実行するシェル スクリプトを作成しており、後で別のサーバーのデータベースにダンプを復元します。
最初のサーバーの Postgres データベースにアクセスするには、エクスポート PGPASSWORD を使用してパスワード プロンプトを回避します。
2 番目のサーバーの Postgres データベースで復元を実行すると、ユーザー パスワードの入力を求められます。export PGPASSWORD を再宣言しようとしましたが (このデータベースのパスワードが異なるため)、これは機能しません。2番目のデータベースにアクセスするためにSSHホップを2倍にする必要があるという事実と関係があるのではないかと思います:
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"
誰か提案はありますか?ありがとう!