ソースからインストール

このドキュメントはソースからPGroongaをビルドしてインストールする方法を説明します。

ビルド・インストール方法はWindowsとWindows以外のプラットフォームで違います。このドキュメントではそれぞれ別々に説明します。

Windows以外のプラットフォーム

PostgreSQLをインストールします。

Groongaをインストールします。パッケージを使うことをおすすめします。パッケージを使ってGroongaをインストールする場合は次のパッケージをインストールしてください。

PGroongaのソースを展開します。

$ wget https://packages.groonga.org/source/pgroonga/pgroonga-4.0.8.tar.gz
$ tar xvf pgroonga-4.0.8.tar.gz
$ cd pgroonga-4.0.8

参考:未リリースの最新版を使いたい場合は次のようにしてください。

$ git clone --recursive https://github.com/pgroonga/pgroonga.git
$ cd pgroonga

MesonNinjaを使って、PGroongaをビルドしてインストールします。

$ meson setup build
$ meson compile -C build
$ sudo meson install -C build

pg_configコマンドがPATH環境変数に含まれていない場合は、pg_configオプションで明示的に指定してください。

$ meson setup build -Dpg_config=/path/to/pg_config

エラーが発生した場合は次のことを確認してください。

もし、pg_configコマンドが存在しない場合、PostgreSQLの開発用パッケージをインストールし忘れているかもしれません。

もし、pkg-config --list-allgroongaが含まれていない場合、Groongaの開発用パッケージをインストールし忘れているかもしれません。あるいは、groonga.pcが標準的なディレクトリーではないディレクトリーにインストールされているのかもしれません。その場合はPKG_CONFIG_PATH環境変数を使ってください。

以下は--prefix=/usr/localオプション付きでGroongaをインストールした場合の例です。

$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig meson setup build

もし、SELinuxを使っているなら、ポリシーパッケージ(.pp)を作成し、インストールしなければなりません。PGroongaは、 <data dir>/pgrn* ファイルをメモリー内にマップさせますが、これはデフォルトでは許可されていません。初めに、 policycoreutilscheckpolicy をインストールします。

$ sudo dnf install policycoreutils checkpolicy

PostgreSQLのバイナリーのタイプを postgresql_t 、 PostgreSQlのデータファイルのタイプを postgresql_db_t とします。 postgresql_tpostgresql_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についてもっと理解できるはずです。

Windows

ソースからPGroongaをビルド・インストールするために必要なソフトウェアは次の通りです。これらをインストールしてください。

packages.groonga.orgからGroongaとPGroongaのソースアーカイブをダウンロードして展開します。

ビルドで使う変数

Groongaをビルドしてインストールします。

> cmake -B groonga.build -G Ninja -S groonga-latest -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=%GROONGA_INSTALL_DIR% -DGRN_WITH_MECAB=bundled -DGRN_WITH_MESSAGE_PACK=bundled -DGRN_WITH_MRUBY=yes -DGRN_WITH_RAPIDJSON=bundled -DGRN_WITH_XXHASH=bundled -DGRN_WITH_ZSTD=bundled
> cmake --build groonga.build
> cmake --install groonga.build

PGroongaをビルドします。

> meson setup pgroonga.build -S pgroonga-4.0.8 --buildtype=release --cmake-prefix-path=%GROONGA_INSTALL_DIR% -Dpg_config=%POSTGRESQL_INSTALL_FOLDER%\bin\pg_config.exe
> meson compile -C pgroonga.build

PGroongaをインストールします。管理者権限が必要かもしれません。たとえば、インストーラーを使ってPostgreSQLをインストールした場合は管理者権限が必要でしょう。

> meson install -C pgroonga.build

データベースを作成します。

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についてもっと理解できるはずです。