On 7/23/07, Chuck Payne <cpayne@xxxxxxxxxxxxx> wrote:
Hey, I have spend the last several days looking for a website or how to that would show me how to call postgresql in bash script. I know that in mysql I can do like this for i in `cat myfile.txt` ; do mysql -uxxx -pxxxx -Asse mydatabase "insert into mytable (aaa,bbb) values ("xxx", "yyy");" I have tried to do what with pgsql and it not working. I have looked at my two books I have and they are very limited. Can some what tell if postgre has flag like -Asse? Or show me a simple script they have do that is kinda like above.
Sometimes it's handy to process multiple lines at a time and process each piece of data. Here's a bit of a script, simplified, that we use to monitor our application where I work. echo $newquery | psql -h pg -U report -Atp5432 -F" " productiondb > /tmp/$$stat.tmp; t=/tmp/$$stat.tmp; # If there's no response, exit if [[ -z $t ]]; then rm /tmp/$$stat.tmp exit; fi; while read line do arr=($line) tc=${arr[0]} frate=${arr[1]} fails=${arr[2]} if [[ frate -gt 25 && tc -gt 5 ]]; then do something here fi; if [[ fails -gt 10 && tc -gt 5 ]]; then do something here fi; fi; done < /tmp/$$stat.tmp This script reads one line at a time from the $$stat.tmp file and explodes each space separated element and assigns them to variables you can perform tests on.