Edited at

Windows版PostgreSQLでpg_bigmを使う方法(非公式)

More than 1 year has passed since last update.

現在(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