bash スクリプトから PostgreSQL にアクセスする
基本的な考え方は単純で,psql コマンドによる対話的処理を, bash のヒアドキュメント機能を使って一括処理しようとするものである.
この機能を用いれば,psql コマンドを bash スクリプトから利用できる.
基本的な使い方は
である. psql コマンドの -q オプションは, 無駄なメッセージを表示させないために付けている. (この方が結果処理の手間を軽減できる.)
psql -q -U データベースユーザ名 データベース名 > 結果出力用ファイル << _EOF select などの SQL 文 _EOF
(捕捉)bash のヒアドキュメント機能
これは,入力リダイレクションの一種とでも思えばよい.
通常,何らかのコマンドに対して入力のリダイレクトを行なう場合,
入力内容をいったんテキストファイルとして保存しておき,
とする.
コマンド < 入力ファイル
とすることで,終端文字列より前までの [入力内容] がコマンドへの入力として処理される.
コマンド << 終端文字列 [入力内容] 終端文字列
例えば,
とすると,終端文字列("EOF")の前までの "aaa" と "bbb" が file1 へ書き込まれる.
cat > file1 << EOF aaa bbb EOF