cygwin版PostgreSQL


 PC-UNIXでは定番のPostgreSQLだがWindows版が出回っていない。調べてみると, Windows native版はあることはあるもののまだ実用的でないらしい。
 で,どうしてもWindowsで使いたい場合はcygwin版を使うらしい。

1.cygwinを入れる

 redhatのサイトのどこかにcygwinのページがあるのでそこからsetup.exeを とってきてそいつをダブルクリックすれば勝手にやってくれる。  pathがcygwin1.dllに通るように設定。

2.マルチバイト対応版PostgreSQLを入れる

 cygwinにもPostgreSQLは入っているのだがこれだと日本語が使えない。なので マルチバイト対応版をhttp://www2.s34.co.jp/~luster/pgsql/ から取ってきて入れる。
 cygipc(ipc-daemon)を動かしてないと使えないので http://www.neuro.gatech.edu/users/cwilson/cygutils/ から取ってきて入れる。

 Unixの場合と同様,環境変数(PGDATAとかPGLIB)とかを設定しておく。

3.初期化

 cygipcを動かしておく。サービスにしておいた方が楽なのでそうしておく。

ipc-daemon --install-as-service

 でサービスとして登録される。好きな方法で起動しておく。

 で,initdbとかcreatedbとかを実行するのだが,/usr/bin の方(cygwinのinstallで 入った方)が動くとうまく行かないので,後から入れた方(マルチバイト対応版)が 動くようにする。
 初期化できたらcygwinのプロンプトからpsqlでいろいろやってみてテーブルとか 作れるか確認。

4.サービスとして動かす

   DBのデーモンはNTのサービスとして動くのでこっちも登録しておく。

cygrunsrv --install postmaster --path /usr/local/pgsql/bin/postmaster --args "-D/usr/local/pgsql/data -i" --dep ipc-daemon --termsig INT --shutdown

 って感じで。
 <PGDATA>\postmaster.pidがあると起動に失敗するので消しておく。

5.具体的に使う

 http://hp.vector.co.jp/authors/VA023283/PostgreSQL.html この辺りにいろいろ便利なものがあるので取ってきて使いましょう。
   とりあえずODBCドライバと日本語対応版psql,VBからのアクセスサンプルは チョー役に立つと思います。
 あと,つみきソフトさまのDB操作ユーティリティーもありがたく使わせていただきましょう。 名前がCSE(Common SQL Environment)だったりするところがちょっとイヤな感じだったりするけど。
http://www.hi-ho.ne.jp/tsumiki/
 ちなみにPostgreSQL以外のデータベースでも使えます。

6.Webで使う

6-1.Apache/PHP

 当然PHPを使ってWeb上にデータを表示させたりもします。

 Apacheはフツーにインストールします。何も考えません。

 PHPもとりあえずインストール。そのあとApacheと連携する設定がちょっと面倒。
http://www.hotwired.co.jp/webmonkey/2000/47/index4a.html  を参考に。
 要するにPHP.exeにpathを通して,windows2000ディレクトリの下にphp.iniを置いて, httpd.confを書き換える。たぶん,

ScriptAlias /php-bin/ "C:/bin/php/"

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Action application/x-httpd-php "/php-bin/php.exe"
	

 あたりを足せばいいはず。
 で,php.iniの

extension=php_pgsql.dll
	

 を有効にすればいい。
 これで適当にPHPスクリプトを書いてWeb経由で表示させればデータが出てくるはず。

6-2.JDBC

省略

(2002.01.17)



top