postgreSQLに接続するシェルのテンプレート
個人的メモ。
たくさんのDBにまとめて同じSQLを実行するテンプレート。
SQLをヒアドキュメントで書くようにしてるけど、長くなるようだったら外出しにしよう。
#!/bin/sh #DBサーバとインスタンスの指定 SETTINGS=("dbserv01 db01" "dbserv01 db02" "dbserv02 db01") for setting in "${SETTINGS[@]}" do #半角スペース区切りの文字列を配列に変換 conf=(`echo $setting`) psql -e -U postgres -h ${conf[0]} ${conf[1]} >logs/normal.log 2>logs/error.log << EOF set client_min_messages to warning; /* 実行するSQLを記述 */ EOF if [ ! -s logs/error.log ]; then /bin/rm logs/error.log else echo "なんかエラーだってさ" /bin/cat logs/error.log fi done exit