私のアプリケーションサーバーで、Postgresデータベースがインストールされている別のマシンに移動するシェルスクリプトを実行しています。クエリを実行し、IDのカップルを返し、変数に格納します。私のシェルスクリプトを見つけてください。リモートpostgresデータベースでクエリを実行しているときにシェルで問題が発生しました
ssh [email protected]<Remote_HOST> 'bash -s'<< EOF
projectid=`/usr/pgsql-9.4/bin/psql $DB_NAME -U $DB_USER -h $DB_HOST -t -c "select projectid from projects where project_Name='$projectName';"`
scenarioid=`/usr/pgsql-9.4/bin/psql $DB_NAME -U $DB_USER -h $DB_HOST -t -c "select scenarioid from scenarios where scenario='$scenario' and projectid='$projectid';"`
EOF
echo $projectid
私はシェルを実行すると、私は次のエラーを取得する: /root/test/data.sh:行62:/usr/pgsql-9.4/bin/psql:そのようなファイルやディレクトリ /ルート/ test/data.sh:行62:/usr/pgsql-9.4/bin/psql:そのようなファイルやディレクトリはありません
しかし、データベースがインストールされているマシンでは、同じクエリを実行すると適切な結果が得られます。だから何が間違っているのかわからない、クエリがうまくいき、ディレクトリが存在する。リモートホストへのSSHの後であっても、私がlsかpwdすれば、私は適切な出力を得ています。私はすでにデータベースのパスワードをエクスポートしているので、パスワードなしのデータベースのログインはすでに正常に動作しています。
私はここに何が欠けているのか教えていただけますか?
これを見て行うことで、私の問題を解決することができました。 http://dba.stackexchange.com/questions/21587/postgresql-is-running-locally-but-i-cannot-connect-why –
ありがとうございます。私は、リンクを介して述べられたいくつかの詳細を参考に考えている。私は言及したようにいくつかのことを試している。 – user1169236