2007年11月21日水曜日

psqlで対話型の簡易アプリ

備忘録として。
Windowsで簡易的に、いくつかの条件を入力後にSQLを実行するアプリ(batファイル)のサンプル。

前提条件

  • psqlがインストールされていること (PostgreSQLがインストールされていればbinフォルダにpsql.exeがある)
  • pgpass.confがあり、必要なログイン情報が書かれている (PgAdminⅢを使っていれば自動で作られる?)
    • pgpass.confは通常は C:Documents and Settingsユーザー名Application Datapostgresql にある。(Application Dataフォルダは、フォルダオプションで「すべてのフォルダとファイルを表示する」にしていないと表示されない)
      参考:パスワードファイル
    • このファイルが無いと、psql実行時にパスワード指定無しでの実行ができない

サンプルコマンド
@echo off
rem 必要な入力項目を入力してもらい、コマンドプロンプトの環境変数にセットする。
set /p foo_no= 番号を入力してください:
rem psqlのオプションとして-cを指定してパラメータのSQLを実行する
rem SQLにはコマンドプロンプトの環境変数を埋め込んでおく
C:(略)psql DB名 -U ユーザー名 -c "SELECT bar FROM baz WHERE foo_no = %foo_no%"
rem pause(「続行するには何かキーを押してください . . .」)より分かりやすいメッセージを表示したい
set /p foo_no= 終了するにはEnterキーを押してください

0 件のコメント:

ブログ アーカイブ

tags