[______TOC_______] [NEXT CHAPTER]
1 PostgreSQL へのアクセス

注意: 現在の toymodel は postgresql 7.1 以降では
      うまく動かないようです。理由は off というエントリが
      SQL '99 の規格にある予約語とぶつかっているからです。

      とりあえずの回避策は

	1. postgresql 7.0.x を使う
	2. toymodel の off のエントリを他の名前に変える

  TODO:
	互換性のために現在の toymodel はそのままにし、別途 SQL'99 でも
	使えるドライバを用意しようと思います。


1.1	必要なもの

Pg.pm です。DBI 版もあります。一応 toymodel.pl はまだ Pg.pm 版です。

	/usr/local/fml/databases/postgresql/Pg_toymodel.pl
	/usr/local/fml/databases/postgresql/DBI_toymodel.pl

1.2	config.ph の設定例

ポイントは

	$DATABASE_DRIVER

で指定するファイルです。デフォールトでは LDAP のおもちゃのモデル
( 3.0 参照)を使うようになっています。
PostgreSQL の玩具モデルの見本は

	/usr/local/fml/databases/postgresql/toymodel.pl

を見て下さい。このファイルには

	どのような SQL 文で呼び出すのか
	エラー処理はどうするのか

などの泥くさい部分が全て封じ込められています。この toymodel.pl を手本
に自分の使っているスキーマに合わせて定義を書き換えてみてください。
そのファイルを

	/var/spool/ml/etc/fml/mysqldriver.pl

などをするとよいでしょう。スキーマの詳細はこの中に封じ込めて下さい。
この場合 config.ph に書くべき項目の見本はこのようになります。

$USE_DATABASE        = 1;
$DATABASE_METHOD     = 'PostgreSQL';
$SQL_SERVER_HOST     = 'postgres.fml.org';
$SQL_SERVER_USER     = 'fukachan';
$SQL_DATABASE_NAME   = 'fml';
$DATABASE_DRIVER     = 'mysqldriver.pl';

1;

もしくは FULL PATH でかいてください。

$DATABASE_DRIVER     = '/var/spool/ml/etc/fml/mysqldriver.pl';


1.3	some pointers

http://www.sra.co.jp/people/t-ishii/ 
ftp://ring.so-net.ne.jp/ 
ftp://ring.asahi-net.or.jp/ 
http://member.nifty.ne.jp/hippo2000/ 


[______TOC_______] [NEXT CHAPTER]