home changes contents help options

postegresqlをzopeから使うときには、psycopgをというデータアダプタを使うのだが、そのためにはmakeの際にすべてのheaderをインストールしておかなくてならない。 debianのパッケージにはzope-psycopgdaというのがあるので、これを使えばそのあたりの問題は考えなくてもいいかもしれない。 しかし、今回はZopeもソースからインストールし、使っているpythonもdebianパッケージのpythonでなく、ソースからインストールしたpythonを使っている。このためpostgresqlもソースからインストールすることにした。

postgresqlのページから最新版をダウンロードする。

http://www.postgresql.jp/

postgresql7までは、make install-all-headersを行う必要があったが、バージョン8からは標準のmakeに採り入れられているらしい。

http://www.postgresql.jp/document/current/html/install-procedure.html

$ tar zxvf postgresql-8.1.3.tar.gz
$ cd postgresql-8.1.3
$ ./configure
$ make
$  su -
# make install

configureの際に、不足しているものがあると途中で終了する。エラーメッセージを見て必要なパッケージをインストールする。 本体は入っていても関連するものが入っていないことが多いので、適当に選んでインストールすればうまくいく。

パッケージのインストールは、「アプリケーション」ー「システムツール」ー「Synapticパッケージパッケージマネージャ」を使い、エラーメッセージにでた単語を検索するのが簡単である。

専用ユーザ作成
# adduser postgres

# mkdir /usr/local/pgsql/data # chown postgres:postgres /usr/local/pgsql/data # su - postgres 初期化 $ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data 起動 $ /usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data postgresにアクセスするユーザを設定 $ /usr/local/pgsql/bin/createuser zope Shall the new role be a superuser? (y/n) y CREATE ROLE

eGenix-mx-Extensionsのインストール。

次のアドレスから最新版のソースをダウンロード。2006年5月21日現在2.06

http://www.egenix.com/files/python/eGenix-mx-Extensions.html#Download-mxBASE

$ tar zxvf egenix-mx-base-2.0.6.tar.gz
$ cd egenix-mx-base-2.0.6
$ su
# /opt/python2.3.5/bin/python setup.py install

psycopgのインストール

次のアドレスから最新版をダウンロード。2006年5月21日現在 1.1.6となっているが、

http://www.zope.org/Members/fog/psycopg

ここからたどっていくと、以下のアドレスにいくと1.1.21だった。

http://initd.org/pub/software/psycopg/

$ tar zxvf psycopg-1.1.21.tar.gz
$ cd psycopg-1.1.21
$ ./configure --with-python=/opt/python2.3.5/bin/python --with-postgres-includes=/usr/local/pgsql/include --with-postgres-libraries=/usr/local/pgsql/lib --with-mxdatetime-includes=/opt/python2.3.5/lib/python2.3/site-packages/mx/DateTime/mxDateTime
$ make
$ su
# make install
# exit
$ mv ZPsycopgDA /var/zope/Products/
zopeを再起動する。
Zopeのコントロールパネルの中にあるプロダクツを見ると、ZPsycopgDAが壊れていたのでクリックすると、ligpg.so.4がないと出たので、
# ln -s /usr/local/pgsql/lib/libpq.so.4 /usr/lib