이것을 확인해야 할 조건으로 생각하세요.
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