わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

DockerでPGronnga,PostgreSQL 9.6/10/11に対応

 PGroongaのDockerイメージを作成できるDockerfileを,GitHubおよびDockerHubに公開しています.URLはそれぞれ以下のとおりです.

 現在,takehiko/pgroonga:latestのイメージには,以下のソフトウェアを収録しています.

 このうちPostgreSQLのバージョンについて,昨日まで,9.6のみだったのですが,10や11のバージョン(ただしPGroongaとGroongaは最新版)でイメージを作れるよう,ブランチの切り替えで対応を試みました.ビルドするには,クローンしたあと,例えば以下のように実行します.

git checkout -b pg-9 origin/pg-9

 これで,PostgreSQLは「9.6」で,以前と同じベースイメージ(postgres:9-alpine)に基づくファイル構成に変わります.
 ブランチとしてpg-9,pg-10,pg-11,pg-12を作りましたが,現時点ではmasterとpg-11が同一内容です.pg-9からpg-11までについては,テストスクリプトも実行して,期待どおりの動作(MeCabベースとbigramベースのトークナイザーで,検索結果が異なること)を確認しています.
 ただ,pg-12についてはビルドに成功していません.「utils/tqual.h: No such file or directory」を含むエラーメッセージが出まして,検索したところ,https://github.com/dimitri/pgextwlist/issues/32を見つけました.PostgreSQL 12そのものではなくそれを用いたextensionのエラー報告のようで,postgres:12-alpineのイメージでは,utils/tqual.hを取り込んで,ビルドがなされていないと考えられます.
 今後はPGroonga and/or Groongaの新しいバージョンが出れば,ブランチごとに修正し,手元でビルドと動作確認をしてから,コミットそしてGitHubにプッシュする予定です.ただこれはこれで非効率なので,DRY (Don't repeat yourself)原則に合ったファイル管理を検討したいところです.