これを確認する条件と考えてください。
select count(*) from nm.table1 where column1 =true;
これでデータベース(PostgreSQL)からインポートされ、IF THEN ELSE LOOP
Unixで使用する必要があります。
それはまるで
if [ $count > 1]
then
echo " Successful"
else
exit
fi
答え1
以下では、psqlを実行しているunixユーザーが "nm.table1"にアクセスできるpostgresqlアカウントを持っているとします。そうでない場合は、psqlに認証の詳細も提供する必要があります。
最良の方法は~/.pgpass認証の詳細を含むファイル。
いずれにしても、認証の問題が解決されると、psql
クエリからデータをインポートすることは、他のコマンドからデータをインポートするのと同じくらい簡単です。コマンドの置き換えタスクを実行します。
の場合、またはオプションを使用してヘッダーとフッターの印刷を無効にするか、オプションを使用してソートされていない印刷モード(つまり、出力を埋めるために余分な空白を印刷しない)を有効にしますpsql
。もちろん、orオプションは、次のパラメータが実行されるSQLコマンドになることを示します。-t
--tuples-only
-A
--no-align
-c
--command
psql
count=$(psql -tAc 'select count(*) from nm.table1 where column1=true;')
if [ "$count" -gt "1" ] ; then
echo " Successful"
else
exit
fi