このドキュメントはソースからPGroongaをビルドしてインストールする方法を説明します。
ビルド・インストール方法はWindowsとWindows以外のプラットフォームで違います。このドキュメントではそれぞれ別々に説明します。
PostgreSQLをインストールします。
Groongaをインストールします。パッケージを使うことをおすすめします。パッケージを使ってGroongaをインストールする場合は次のパッケージをインストールしてください。
groonga-devel
: CentOSの場合libgroonga-dev
: Debian/GNU LinuxとUbuntuの場合PGroongaのソースを展開します。
% wget https://packages.groonga.org/source/pgroonga/pgroonga-3.2.5.tar.gz
% tar xvf pgroonga-3.2.5.tar.gz
% cd pgroonga-3.2.5
参考:未リリースの最新版を使いたい場合は次のようにしてください。
% git clone --recursive https://github.com/pgroonga/pgroonga.git
% cd pgroonga
PGroongaをビルドします。いくつかオプションがあります。
HAVE_MSGPACK=1
:WALサポート付きでビルドするときは必須です。msgpack-c 1.4.1以降が必要です。Debianベースのプラットフォームではlibmsgpack-dev
パッケージを使えます。CentOS 7ではEPELにあるmsgpack-devel
パッケージを使えます。WALサポート付きでビルドしたい場合は次のコマンドラインを使います。
% make HAVE_MSGPACK=1
WALサポートが必要ない場合は次のコマンドラインを使います。
% make
エラーが発生した場合は次のことを確認してください。
PATH
環境変数内のパスにpg_config
コマンドが存在していること。pkg-config --list-all
にgroonga
が含まれていること。もし、pg_config
コマンドが存在しない場合、PostgreSQLの開発用パッケージをインストールし忘れているかもしれません。
もし、pkg-config --list-all
にgroonga
が含まれていない場合、Groongaの開発用パッケージをインストールし忘れているかもしれません。あるいは、groonga.pc
が標準的なディレクトリーではないディレクトリーにインストールされているのかもしれません。その場合はPKG_CONFIG_PATH
環境変数を使ってください。
以下は--prefix=/usr/local
オプション付きでGroongaをインストールした場合の例です。
% PKG_CONFIG_PATH=/usr/local/lib/pkgconfig make
PGroongaをインストールします。
% sudo make install
もし、SELinuxを使っているなら、ポリシーパッケージ(.pp)を作成し、インストールしなければなりません。PGroongaは、 <data dir>/pgrn*
ファイルをメモリー内にマップさせますが、これはデフォルトでは許可されていません。初めに、 policycoreutils
と checkpolicy
をインストールします。
% sudo dnf install policycoreutils checkpolicy
PostgreSQLのバイナリーのタイプを postgresql_t
、 PostgreSQlのデータファイルのタイプを postgresql_db_t
とします。 postgresql_t
が postgresql_db_t
のファイルをメモリーにマップすることを許可します。そして、それをコンパイル(.mod)、パッケージ(.pp)したポリシーパッケージをインストールします。
% cat > my-pgroonga.te << EOF
module my-pgroonga 1.0;
require {
type postgresql_t;
type postgresql_db_t;
class file map;
}
allow postgresql_t postgresql_db_t:file map;
EOF
% checkmodule -M -m -o my-pgroonga.mod my-pgroonga.te
% semodule_package -o my-pgroonga.pp -m my-pgroonga.mod
% sudo semodule -i my-pgroonga.pp
データベースを作成します。
% psql --command 'CREATE DATABASE pgroonga_test'
(通常はpgroonga_test
データベース用のユーザーを作ってそのユーザーを利用するべきです。詳細はGRANT USAGE ON SCHEMA pgroonga
を参照してください。)
作成したデータベースに接続し、CREATE EXTENSION pgroonga
を実行します。
% psql -d pgroonga_test --command 'CREATE EXTENSION pgroonga;'
これで終わりです!
チュートリアルを試してください。PGroongaについてもっと理解できるはずです。
ソースからPGroongaをビルド・インストールするために必要なソフトウェアは次の通りです。これらをインストールしてください。
PostgreSQL(インストーラーバージョンでもzipバージョンでもどちらでも構いません。)
packages.groonga.orgからWindows用のPGroongaソースアーカイブをダウンロードしてください。Windows用のソースアーカイブはzipファイルです。Windows用のソースアーカイブにはGroongaがバンドルされています。
ダウンロードしたソースアーカイブを展開し、ソースフォルダーに移動してください。
> cd c:\Users\%USERNAME%\Downloads\pgroonga-3.2.5
cmake
のビルドオプションを指定します。64bitバージョンのPostgreSQL用にPGroongaをビルドするためのコマンドラインは次の通りです。もし、32bitバージョンのPostgreSQL用にビルドしたい場合は、代わりに-G "Visual Studio 12 2013"
パラメーターを使ってください。
pgroonga-3.2.5> cmake . -G "Visual Studio 12 2013 Win64" -DCMAKE_INSTALL_PREFIX=%POSTGRESQL_INSTALL_FOLDER% -DGRN_WITH_BUNDLED_LZ4=yes -DGRN_WITH_BUNDLED_MECAB=yes -DGRN_WITH_BUNDLED_MESSAGE_PACK=yes -DGRN_WITH_MRUBY=yes
インストーラーを使ってPostgreSQLをインストールした場合は%POSTGRESQL_INSTALL_FOLDER%
はC:\Program Files\PostgreSQL\%POSTGRESQL_VERSION%
になります。
zipバージョンのPostgreSQLをインストールした場合は%POSTGRESQL_INSTALL_FOLDER%
は%PostgreSQLのzipを展開したフォルダー%\pgsql
になります。
PGroongaをビルドします。
pgroonga-3.2.5> cmake --build . --config Release
PGroongaをインストールします。管理者権限が必要かもしれません。たとえば、インストーラーを使ってPostgreSQLをインストールした場合は管理者権限が必要でしょう。
pgroonga-3.2.5> cmake --build . --config Release --target Install
データベースを作成します。
postgres=# CREATE DATABASE pgroonga_test;
(通常はpgroonga_test
データベース用のユーザーを作ってそのユーザーを利用するべきです。詳細はGRANT USAGE ON SCHEMA pgroonga
を参照してください。)
作成したデータベースに接続し、CREATE EXTENSION pgroonga
を実行します。
postgres=# \c pgroonga_test
pgroonga_test=# CREATE EXTENSION pgroonga;
これで終わりです!
チュートリアルを試してください。PGroongaについてもっと理解できるはずです。