tuigwaa with PostgreSQL 8.1

で、そのままだとHSQLDBだけど、DBのなかを見たりテーブルにインポートしたりしたかったので、ちょうどインストール済みだったPostgreSQLを利用することにしました。
キホンはWebUDA Tuigwaa - Databaseの通りに、

  • データベースユーザの作成
  • Wiki保存領域の作成
    • 作成したDBユーザーで${tuigwaa_src_home}/etc/db/slide/createPostgresSchema.sqlを実行しておく
    • はじめ、この文言が理解できなくて、tuigwaaのデプロイ時に自動で実行されるものと思って、小一時間悩みました orz
  • JDBCドライバを用意、配置
  • warファイルの展開
    • 一旦、展開されてるtuigwaaを対象にやっていたから、これはしなかったけど
  • 設定ファイルの変更

をやるだけなんだけど、けっこうハマったところが少し。
PostgreSQLバージョン8.1からadd_missing_fromのデフォルトがfalseになってるそうなので、

$PG_DATA/postgresql.conf

add_missing_from = on

を設定しておかないと0.8だと動かないっぽい。

これをやっておかないと、起動時に以下のような例外スタックトレースを拝むことになるようです。

27 Jun 2006 21:07:41 - org.apache.slide.store.impl.rdbms.PostgresRDBMSAdapter - ERROR - SQL error 0 on /: ERROR: missing FROM-clause entry for table "version_history"
org.apache.slide.common.ServiceAccessException: Service com.isenshi.util.extlib.S2Store@f9659d access error : ERROR: missing FROM-clause entry for table "version_history"
        at org.apache.slide.store.impl.rdbms.PostgresRDBMSAdapter.createException(PostgresRDBMSAdapter.java:341)
以下、延々と続く

しかも、これの設定後にTuigwaa Managerでサイトの編集画面をみたら、データベース設定のところに基本データベース使用にチェックがついてたので、ビックリ。
外部DBが使用されていないのかと肝を冷やしましたが、そんなことはなくて、ちゃんと外部DBのPosgresのほうにデータが入ってましたが。