COPYコマンドpsql
で postgresqlを使用して、1 つの Amazon RDS データベースから Amazon Aurora Serverless データベースにデータを移行しようとしています。スクリプトは EC2 インスタンスから実行すると正常に動作しますが、繰り返しごとにrdswizardとpostgresのパスワードを手動で指定する必要があります。コマンドと一緒にパスワードを入力したいだけです。毎回手動ではなく、コマンドと一緒にパスワードを与える方法は?psql
psql
allSites=(3 5 9 11 29 30 31 32 33 34 37 38 39 40 41 45 46 47 48)
for i in "${allSites[@]}"
do
psql \
-X \
-U rdswizard \
-h my_rds_host_url_goes_here \
-d wizard \
-c "\\copy (select site_id,name,phone from client_${i} where date(create_date) > '2019-09-11' LIMIT 100) to stdout" \
| \
psql \
-X \
-U postgres \
-h my_aurora_serverless_host_url_goes_here \
-d wizard \
-c "\\copy client_${i}(site_id,name,phone) from stdin"
done
私のデータベースホストは両方とも、ローカルマシンではなくリモートサーバーにあります