(1)Windows版PostgreSQL 9.2921日) (2)Windows版PostgreSQL 9.3922日) (3)Windows版PostgreSQL 9.4(一昨日) (4)CentOS 6.6 + PostgreSQL 9.3(昨日) (6)Scientific Linux 7 + PostgreSQL 9.5 Alpha 2(明日) (7・終)Mac OS X 10.8.5 + PostgreSQL 9.5 Alpha 1(明後日)

実行環境

CentOS 7へPostgreSQL 9.5 Alpha 1をインストールした件は7月6日の記事を参照。その時や昨日と同様、仮想マシンをVirtualBoxのウィンドウ非表示モード(Headless)で起動し、インストール&クエリをホスト側Windowsのコンソールで行いました。 直接関係ありませんがゲスト-ホスト間のネットワークはNAT + ポートフォワーディングで行い、二つ目の画像のようにホスト側の5437番ポートをゲスト側5432に転送。これは自分の備忘録です。どの仮想マシンに何番を割り当てたか忘れるので。

既にパッケージがあり、yumで簡単にインストール

昨日と同様にyum listしてみると、既にPostgreSQL 9.5用のパッケージがありました。本体もAlpha 2が出ておりyumでアップデート可能ですが、データの互換性がないので(次項参照)今回はそのまま。
yum list | grep postgresql95
yum list | grep plv8
ルート権限になってyum installするだけです。無事終わったのでPostgreSQLを再起動(必須か分かりませんが、念のためを兼ねて)。
# yum -y install plv8_95
Installed:
  plv8_95.x86_64 0:1.4.4-1.rhel7

Dependency Installed:
  v8.x86_64 1:3.14.5.10-17.el7

Complete!

# service postgresql-9.5 restart
Redirecting to /bin/systemctl restart  postgresql-9.5.service
以下、昨日までと同じ手順でテスト用データベースにインストール。pg_extensionでPL/v8のバージョンを見ると1.4.4でした。今日は何か新しいテストをする時間がなかったので、ここまで。
psql -U postgres -p 5437
ユーザ postgres のパスワード:
psql (9.4.1, サーバー 9.5alpha1)
注意: psql メジャーバージョン 9.4, サーバーバージョン 9.5.
         psql の機能の中で、動作しないものがあるかもしれません。
"help" でヘルプを表示します.

postgres=# CREATE DATABASE plv8_test
postgres-# TEMPLATE = template0
postgres-# LC_COLLATE = 'C'
postgres-# LC_CTYPE = 'C'
postgres-# ;
CREATE DATABASE
postgres=# \c plv8_test
psql (9.4.1, サーバー 9.5alpha1)
注意: psql メジャーバージョン 9.4, サーバーバージョン 9.5.
         psql の機能の中で、動作しないものがあるかもしれません。
データベース "plv8_test" にユーザ"postgres"として接続しました。
plv8_test=# CREATE EXTENSION plv8
plv8_test-# ;
CREATE EXTENSION
plv8_test=#
plv8_test=# SELECT extname, extversion FROM pg_extension
plv8_test-# ;
 extname | extversion
---------+------------
 plpgsql | 1.0
 plv8    | 1.4.4
(2 行)

PostgreSQL 9.5 Alphaの1と2では、データの互換性がない

実は最初、仮想マシンをクローンしてPostgreSQL本体を9.5 Alpha 2に上げて試したところ ↓ サーバが起動せずdatabase files are incompatible with server、データファイルの互換性がないと。Alpha 1と2の間で構造が変わったみたいです。 9.5 Alpha 2のリリースアナウンス等では特に書かれてませんが(自分が見落してるかも)、下記のメーリングリストでやり取りされてました。 9.5 Alpha 2は別の仮想マシン(Scientific Linux 7)に入れたので、明日はそれにPL/v8をインストールします。たぶん今日とほぼ同様で、リポジトリのURLの間違い(詳細:8月18日の記事)に気を付ける程度。