現在(2015/09)、pg_bigmは公式にWindows版PostgreSQLをサポートしていません。pg_bigmコミュニティにはパッチを投稿していただいているのですが、(Window上での開発のハードルが高く)まだ見れていない状態です。すいません。
ですが、pg_trgmのように、ソースコード内に特別なWindows対応コードを入れなくても、Windows版PostgreSQL上でpg_bigmは使用できるので、その方法を紹介します。
※注意 : この方法は非公式です。
準備
Windows開発環境の準備
PostgreSQLマニュアルのこちらを参考に、Microsoft Windows SDKとActiveState Perlをインストールします。(私の環境ではMicrosoft Visual Studio Communityをインストールしました)
PostgreSQLのソースコードの入手
こちらから好きなバージョンのソースコードをダウンロードし、解凍しておきます。(私は9.4.4をダウンロードしました)
pg_bigmのソースコードの入手
こちらからソースコードをダウンロードし、同じく解凍しておきます。(私は1.1-20131122をダウンロードしました)
インストール
※コマンドプロンプトは「Visual Studio コマンドプロンプト」を使いました。(スタートメニュー→すべてのプログラム→Visual Studioにありました)
このコマンドプロンプトを使わないと、「Unable to determine Visual Studio version: The nmake version could not be determined. at src/tools/msvc/Mkvcbuild.pm line 63.」というエラーが出て、buildコマンドが実行できません。
PostgreSQLのインストール
※PostgreSQLが既にインストールされている、またはインストーラーでインストールしている場合はスキップしてください。
PostgreSQLマニュアルを参考に、
> cd src\tool\msvc
> build
で、ビルドし、
> install <インストールするパス>
で、指定したパスへインストールします。
pg_bigmのインストール
1.解凍したpg_bigmをPostgreSQLのcontribディレクトリに移動します。
2.次に以下のコマンドでビルドします。
> cd src\tool\msvc
> build pg_bigm
ビルド後、PostgreSQLのソースディレクトリのトップにReleaseディレクトリ
ができ、その中にpg_bigmディレクトリ
があることを確認します。(pg_bigm.pdbやpg_bigm.dllなどが入っています)
3.下記の表を元にインストールに必要なファイルを手動でコピーします。
対象ファイル名 | コピー元 | コピー先 |
---|---|---|
pg_bigm.dll | <PostgreSQLのソースディレクトリ>\Release\pg_bigm\pg_bigm.dll | <PostgreSQLのインストール先>\lib |
pg_bigm.pdb | <PostgreSQLのソースディレクトリ>\Release\pg_bigm\pg_bigm.pdb | <PostgreSQLのインストール先>\symbols |
pg_bigm.control と pg_bigm--1.1.sql | <pg_bigmのソースディレクトリ>\pg_bigm.control と pg_bigm--1.1.sql | <PostgreSQLのインストール先>\share\extension |
※ダウンロードしたpg_bigmのバージョンによって、pg_bigm--1.0.sqlになるかもしれません |
上記の4つファイルを移動できたらインストール完了です。
pg_bigmの登録
PostgreSQLへのpg_bigmの登録はLinux環境と同じです。
PostgreSQLを起動後、pg_bigmのマニュアルに書いてある通りに、以下のコマンドで登録します。
> psql -d postgres
=# CREATE EXTENSION pg_bigm;
CREATE EXTENSION