2014年3月27日木曜日

xlogdump を PostgreSQL 9.2 RPM に対してコンパイル

PostgreSQL本家がリリースしている CentOS6 向け PostgreSQL 9.2 向けに xlogdump をビルドしようと思ったけど libpgport が無い、と言われてしまった。 LIBRARY_PATH を追加で設定して回避。




お libpgport は postgresql92-devel パッケージ内に含まれていた。 Google で過去ケースを調べた感じ、 Linux ディストリビューションによっては
libpgport をビルドしていないケースがあるようだが、さすがに PostgreSQL 本家の RPM には入ってたね。

2014年3月25日火曜日

Gfarm 2.5.8.5 メタデータサーバ with PostgreSQL 9.3

CentOS 6 上に Gfarm 2.5.8.5 のメタデータサーバを構築しようとした際、 PostgreSQL 本家のPostgreSQL 9.3 RPM 群を組み合わせたらいくつかハマりどころがあった。


  • Gfarm2 の configure 時に --with-postgresql=/usr/pgsql-9.3/ を指定しないと PostgreSQL ベースのバックエンドがビルドされない


  • Gfarm2 の config-gfarm が生成する postgresql.conf を PostgreSQL 9.3 でロードできない。unix_socket_directory が unix_socket_directories にリネームされたため。(テロ!)


後者の問題はインストール済みの Gfarm2 の構成ファイルを書き換えて対処した。


wget http://jaist.dl.sourceforge.net/project/gfarm/gfarm_v2/2.5.8.5/gfarm-2.5.8.5.tar.gz
yum install "Development Tools"
yum install postgresql93-server postgresql93-contrib
rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm
yum install postgresql93-server postgresql93-contrib
yum install openssl-devel
yum install postgresql93-devel.x86_64
yum install gcc
useradd -c "Gfarm gfsd" -m _gfarmfs
./configure --with-postgresql=/usr/pgsql-9.3/
make clean ; make; make install
sed -i  's/unix_socket_directory/unix_socket_directories/g' /var/gfarm-pgsql/postgresql.conf
config-gfarm -A admin -h vm152