2008/06/09 (Mon)
PostgreSQLの初期設定
$PGDATA/postgresql.conf を書き換える。
オートバキュームの設定
# AUTO VACUUM SETTING
autovacuum = on
stats_row_level = on
ログファイルの設定
# LOG FILE SETTING
redirect_stderr = on
log_line_prefix = '<%t %u %d %p>'
log_min_duration_statement = 3s
2008/02/13 (Wed)
Case Insensitive
PostgreSQLでの検索を大文字小文字区別なしで行いたいとの事なので、 対応する演算子を捜したところ、以下の文章が見つかったのでテスト。
http://www.postgresql.jp/document/current/html/functions-matching.html
SELECT * FROM entry WHERE title ILIKE '%TEST%';
SELECT * FROM entry WHERE title ~~* '%TEST%';
LIKE と ~~ は等価、ILIKE と ~~* が等価のようだ。
~を一つにするとPOSIX正規表現を使ったマッチングになるようだ。 今回は部分一致の検索のみでいいので、TESTの値はプログラム側で キーワード(_や%)をエスケープ処理してSQLInjectionを防ぎ、 ILIKEを使い前後へのマッチングのみに対応した。