PostgreSQL+Ludia入れたメモ@Ubuntu

PostgreSQL やっとインストールしたよ。って言うより Ludia を触ってみたくていれたので、どちらかと言うと Ludia がメイン。

今回インストールしたのはこんな感じ。

Senna は前に MySQL + Senna + tritonn インストール時に1.0.5を入れているのでそれを使いまわす。

とりあえずpostgresなユーザ作成から。

$ sudo useradd -m postgres
$ sudo passwd postgres

PostgreSQL は普通にビルドしてかまわないみたい。なので最低限のオプションだけつけてコンパイル。 --enable-multibyte っていつから無くなったんだろ?

$ ./configure \
>--prefix=/usr/local/pgsql \
>--enable-thread-safety
$ make
$ sudo make install

データディレクトリの初期化。

$ PATH="/usr/local/pgsql/bin:${PATH}"
$ sudo -u postgres mkdir /home/postgres/data
$ sudo -u postgres initdb -D /home/postgres/data --encoding=UTF-8
...

okな文字が流れてたので、 PostgreSQL を起動してみて、テスト用のデータベースを作っておく。

$ sudo -u postgres postgres -D /home/postgres/data &
$ sudo -u postgres createdb ludia_test

一通り上手く行っているようなので、ここから Ludia のコンパイルに入る。

$ ./configure \
>--with-senna-cfg=/usr/bin/senna-cfg \
>--with-pg-config=/usr/local/pgsql/bin/pg_config
$ make
$ sudo make install

Ludia をインストールすると /path/to/pgsql/share/ に一式はいるらしい。で、 PostgreSQLLudia を使うことを教えるために postgresql.conf を編集する。

custom_variable_classes='ludia'
ludia.max_n_sort_result = 10000
ludia.enable_seqscan = on
ludia.sen_index_flags = 31
ludia.max_n_index_cache = 16
ludia.initial_n_segments = 512

設定値はどっかに載ってたモノをコピペしたので良く解ってない。 custom_variable_classesLudia を追加する事だけは絶対って事だけ覚えた。

postgresql.conf の変更を反映させる為に一度再起動してから、さっき作ったデータベースに Ludia を使うのに必要な設定?とかを pgsenna2.sql を使って放り込む。

$ sudo -u postgres psql -f /usr/local/pgsql/share/pgsenna2.sql ludia_test

コレで一通り完了っぽい。上手く出来たかテストしてみる。

CREATE TABLE test1 (
    id SERIAL,
    body TEXT NOT NULL
);

INSERT INTO test1 (body) VALUES ('すもももももももものうち');
INSERT INTO test1 (body) VALUES ('ももから生まれた桃太郎');

CREATE INDEX test1_body ON test1 USING FULLTEXT(body);

SELECT * FROM test1 WHERE body @@ 'もも';
 id |           body
----+--------------------------
  1 | すもももももももものうち
  2 | ももから生まれた桃太郎
(2 rows)

ちゃんと部分一致で引っ張ってきてる。どうやら上手くいったっぽいよ!

ちょっとコレを期に PostgreSQL もちゃんと覚えようと思う。設定の仕方とか全然知らないし覚えてないし。

Ludia に関しては1.1.0から VACUUM に対応したり、設定が senna.conf から postgresql.conf に移ったりと、かなり使い勝手が上がってるみたい。ある程度まで( PostgreSQL の)使い方を覚えたら Django でも使ってみようかな?

全文検索は凄い!って事を再確認しましたとさ。

Posted at: 
2007/07/22 05:32:51
0 Comments
0 TrackBacks
Tags: 
Ludia
PostgreSQL
Senna
Ubuntu
Trackback: 
http://humming.via-kitchen.com/2007/07/22/postgresql-plus-ludia-install-memo-at-ubuntu/trackback/

TrackBacks

まだ登録されていません。

Comments

まだ登録されていません。

Add Comment

Add Comment