O seguinte assume que o usuário unix executando o psql possui uma conta postgresql que é capaz de acessar 'nm.table1'. Se não, você também precisará fornecer detalhes de autenticação para o psql.
A melhor maneira de fazer isso é ter um arquivo ~ / .pgpass contendo os detalhes de autenticação.
De qualquer forma, depois que a autenticação é resolvida, obter dados de psql
queries é tão fácil quanto obter dados de qualquer outro comando, padrão substituição de comandos faz o trabalho.
Para psql
, queremos usar a opção -t
ou --tuples-only
para desativar cabeçalhos e rodapés de impressão e a opção -A
ou --no-align
para o modo de impressão não alinhado (ou seja, não imprima espaços extras para preencher a saída). E, claro, a opção -c
ou --command
para informar psql
que o próximo argumento será um comando SQL para executar.
count=$(psql -tAc 'select count(*) from nm.table1 where column1=true;')
if [ "$count" -gt "1" ] ; then
echo " Successful"
else
exit
fi