데이터베이스의 조건을 사용하여 쉘 스크립트를 작성하는 방법

데이터베이스의 조건을 사용하여 쉘 스크립트를 작성하는 방법

이것이 내가 확인해야 할 조건이라고 생각하십시오

select count(*) from nm.table1 where column1 =true; 

이제 db(PostgreSQL)에서 나와 IF THEN ELSE LOOPUnix에서 사용해야 합니다.

다음과 같은 것

if [ $count > 1]
then
  echo " Successful"
else
  exit
fi

답변1

다음은 psql을 실행하는 unix 사용자가 'nm.table1'에 액세스할 수 있는 postgresql 계정을 가지고 있다고 가정합니다. 그렇지 않은 경우 psql에 인증 세부 정보도 제공해야 합니다.

그렇게 하는 가장 좋은 방법은~/.pgpass인증 세부정보가 포함된 파일입니다.

어쨌든 일단 인증이 정리되면 psql쿼리에서 데이터를 얻는 것은 다른 명령에서 데이터를 얻는 것만큼 쉽습니다.명령 대체일을 합니다.

의 경우 또는 옵션을 사용하여 머리글 및 바닥글 인쇄를 비활성화하고 정렬되지 않은 인쇄 모드(즉, 출력을 채우기 위해 추가 공백을 인쇄하지 않음)에 또는 옵션을 psql사용하려고 합니다 . 그리고 물론 다음 인수가 실행할 SQL 명령임을 알려주는 or 옵션도 있습니다.-t--tuples-only-A--no-align-c--commandpsql

count=$(psql -tAc 'select count(*) from nm.table1 where column1=true;')

if [ "$count" -gt "1" ] ; then
  echo " Successful"
else
  exit
fi 

관련 정보