Pocket

自分でインストールすればいいので、ソースから入れます。環境は使えるねっとのVPS Linuxです。

1.PostgreSQLを入れる

PostgreSQLのマニュアルにソースコードからインストールってのがそのままやれば入ります。

develを入れとかないとコンパイルとか出来ません。入ってなかったらいれるか、gccとか必要なのを入れてください。

2.postgresユーザーの作成と環境設定

PostgreSQLユーザアカウント見ながらユーザーを作成。その後、インストール後の設定作業にあるのをやっとくと、便利です。PGDATAも設定するとなお便利。

PATH=/usr/local/pgsql/bin
export PATH

PGDATA=/usr/local/pgsql/data
export PGDATA

.bash_profileを編集すると思いますが、Parallels Power Panelのファイルマネージャーから編集すると失敗します。(なぜか、改行コードがCR+LFになっちゃうので)

ダウンロードして書き換えるか、SSHでやってください。ダウンロードしてアップしなおす場合、日本語のフォルダ(デスクトップとか)からアップしようとすると、これも失敗します。

3.データベースクラスタの作成、サーバー起動

データベースクラスタの作成、そのままでできます。先にSSHかファイルマネージャーから/usr/local/pgsql/dataを作って、postgresへ所有者を変更しときます。

それで、僕はこんな感じで初期化します。引数の意味はヘルプに。

initdb -W -A md5 -E UTF8 –no-locale

ログを置く為に、例えば、/var/log/postgres/ を作ってpostgresへ所有者を変更しときます。で、

pg_ctl start -l /var/log/postgres/postgresql.log

で起動します。

4.自動起動設定

CentOS4にPostgreSQL8.1.0をインストールする。の10にあります。参考に設定します。

上と一緒のようにするにはログのところちょっと直します。

PGLOG=”/var/log/postgres/postgresql.log”

試しに再起動してみて動くかどうか確認します。postgresユーザーで、

pg_ctl status

とすると、

pg_ctl: server is running (PID: 10152)
/usr/local/pgsql/bin/postgres “-D” “/usr/local/pgsql/data”

な感じになるはず。

5.PHPで使えようにする

rootユーザーでphp-develをインストールします。

yum install php-devel

で、今入ってるのと同じバージョンのPHPのソースをPHP: Downloadsから取ってきます。

wget http://jp.php.net/get/php-5.3.6.tar.bz2/from/this/mirror
bunzip2 php-5.3.6.tar.bz2
tar xf php-5.3.6.tar

ソースの中のpgsqlへ移動します。

cd php-5.3.6/ext/pgsql/

後は、PHPインストール後のPostgresモジュールインストール方法(Linux)|IT資料館(覚え書き)に。(6のパスは、php-5.3.6/ext/pdo_pgsqlです)

モジュールは、

/usr/lib64/php/modules/

に出来ます。7.のphp.iniファイルの編集の変わりに/etc/php.d/にファイルを作成します。

pdo_pgsql.ini ファイル、中身↓

extension=pdo_pgsql.so

pgsql.ini ファイル、中身↓

extension=pgsql.so

で、サービス再起動

service httpd restart

phpinfoを確認します。

試行錯誤

最初、yumで出来ると思ってインストールしてみたんですが、あちこちいじくりまわしても、phpinfoのpgsqlのPostgreSQL(libpq) Versionが8.1.23のままで、9.0.3に出来ませんでした。なので、こんなやり方になってしまいました。ホントはもっと簡単に出来るのかもしれません。

お知り合いに、紹介してもらえませんか?

いつも、読んでいただきありがとうございます。もしこの内容に価値があると思われたら、お知り合いにも紹介してもらえると、とても嬉しいです!

Pocket