境田雅明様からPgBash( http://db.psn.ne.jp/pgbash/ )を引き継ぎ、github( https://github.com/pgsql-jp/PgBash )にリポジトリを作成しました。 (2017-12-21 kuwamura)
[元の索引] [ダウンロード] [インストール] [使用例] [FAQ]
PgBashは、bashシェルの中に PostgreSQL用のデータベースアクセス機能を組み込んだシェルです。 シェルスクリプトを作成してバッチ処理で SQLを実行したり、 端末から対話的に SQLを直接実行することができます。 また、簡易的なWebアプリケーションを作成することができます。
(PgBash最新バージョン)
pgbash-8r3.2 ... bash-3.2.48ベース
pgbash-8r4.1 ... bash-4.1.10ベース
(環境設定ファイル)
pgbashrc-9.0 ... PostgreSQL-9.0用
PgBashは、bashシェルの中に PostgreSQL用の直接SQL/埋込SQLインターフェイスを組み込んでいます。 ここで、「直接SQL」とは、SQLを入力すると即座に実行してその結果を標準出力に出力する機能を表します。また、「埋込SQL」とは、検索結果をシェル変数に代入し、シェルスクリプト言語で処理する機能を表します。PgBashでは、SELECT_INTO文 もしくは FTECH_INTO文を「埋込SQL」として使用することができます。
PgBashを、ログインシェルもしくはサブシェル(親のシェルから起動された子のシェル)として起動し、コマンドラインにSQL文を入力して即座に実行することができます。また、SQL文とパイプライン/リダイレクション、バックグランドジョブ命令などを組み合わて実行することもできます。
PgBashは、bashシェルが持っているシェルスクリプト機能を使用して、シェルスクリプトを作成することができます。bashシェルのIF/WHILEなどの制御文、SQL文や埋込SQL文を使用してシェルスクリプトを作成します。
PgBashは、Webアプリケーション(CGI プログラム)として使用するために、GET/POSTメソッドのデータをシェル変数に自動的にセットする機能を備えています。
PgBashは、Unix環境もしくは WindowsのCygwin環境で実行可能です。PgBashは、psql とほぼ同等の機能があり実行環境も psqlと同様になります。
PgBashの対話型環境では、bashシェルと同様に .bash_profile(ログインシェル用)、.bashrc(サブシェル用)環境設定ファイルなどが必要になります。
また、データベース環境設定ファイルとして pgbashrc が必要です。pgbashrcは、対話環境で操作する上で便利なコマンドや、データベース情報を表示するための各種コマンドが設定されています。
pgbashrc は、まず ~/.pgbashrc を読み、存在していなければ /etc/pgbashrc を読みます。PgBashを起動中は、source コマンドによって再読み込みすることができます。
- PgBashは、psql と同等のデータベースアクセス機能が有ります。
- PgBashは、pgbashrc を使用してユーザ独自の対話型環境を簡単に設定できます。
- PgBashは、bashの標準機能である alias、function、操作履歴の利用などの柔軟な対話型の操作環境を提供することができます。
- PgBashは、SQLとパイプライン、リダイレクション、バックグランドジョブとを組み合わせて実行することができます。
- PgBashは、CONNECT, DISCONNECT, SET CONNECTIONを用いて、複数のデータベースにアクセスすることができます。
- PgBashは、「SELECT INTO :ホスト変数」文や「FETCH INTO :ホスト変数」文によって検索結果をシェル変数に代入する機能があります。
- PgBashは、SQL実行後のエラーコード、SELECTの結果のタプル数、列数、列名などをシェル変数に保管します。
- PgBashは、SQL出力をHTMLに切り替え、GET/POSTメソッドによるデータの読込、HTTP_COOKIE の値の読込などを自動的に行う機能があります。
- PgBashは、SELECTの結果を自動的にHTMLのTABLE形式で出力できます。その際に、TABLE タグ、ヘッダー部の TRタグ、THタグ、ボディ部の TDタグを変更することができます。
- 技術評論社殿のご厚意により、Software Design 2000年6月号のPgBashの記事をPDFファイルで公開できることになりました。但し、印刷配布およびCD-ROMなどのメディアへの転載は禁止です。
-
境田雅明氏のセミナーでPgBashを紹介した際の資料フリーソフトウェアを使用したWeb-DB連携システム構築法です。
-
ふかふかさんの「ふかふかの部屋」サイト、PostgreSQLをSSL付きにした場合の PgBashの修正方法が書かれています。
http://www1.plala.or.jp/fukafuka/install/pgbash.html -
PostgreSQL国際開発チーム(本家)サイト: http://www.postgresql.org
-
GNU Bash (本家)サイト: https://www.gnu.org/software/bash/
-
日本PostgreSQLユーザ会のサイト: http://www.postgresql.jp/