http://initd.org/Software/psycopg
http://www.zope.org/Members/fog/psycopg
これはVine Linux 2.1.5で試したものです。Linux環境だとほぼ共通した話だと思いますが、 WindowsでPostgreSQLを利用したい場合はZODBCDAを使うのが賢明だと思われます。 それについてはZJUGのHowToを参照して下さい。
Zope,Python,PostgreSQL,psycopg(以上、当たり前),mxDateTime
ここから入手します。
アーカイブを展開して以下を実行。
# python setup.py install
バイナリパッケージも配布されていますが、psycopgのコンパイルにmxDateTime.hがいるので やはりソース(SRPMでも可だと思う)は入手しておいて下さい。
上記のダウンロードサイトからwindows用バイナリ、LinuxRPMが配布されています。
ちなみに筆者のようにActivePythonユーザだとpyppmが利用できます。
# pyppm install egenix-mx-base
プロクシを利用している場合は以下のように環境変数を設定してください。
export http_proxy=hoge.proxy.com:8080
「3.その他の注意」で書いているようにシンボリックリンクをはっておいた方がいいでしょう。
# ./configure --with-mxdatetime-includes=$DATETIMESOURCE/mx/DateTime/mxDateTime --with-postgres-libraries=$PGLIB --with-postgres-includes=$PGINCLUDE --with-zope=$ZOPE_HOME
ディレクトリは環境に合わせて読み替えて下さい。ちなみに筆者の場合、
# make
# make install
$DATETIMESOURCE=/usr/local/src/egenix-mx-base-2.0.2
です。
$PGLIB=/usr/lib/pgsql
$PGINCLUDE=/usr/include/pgsql
$ZOPE_HOME=/usr/local/zope
# make install-zope
実体はソース内のZPsycopgDAをProducts以下にコピーしているだけ。
Zopeのバージョンアップの際はこれだけ。(と思う
環境によってはPythonが「mxDateTimeなんぞしらん」といわれるかもしれませんのでシンボリックリンクをはって対処しませう。
# cd $PYLIB/python%{ver}/site-packages
# ln -s mx/DateTime/mxDateTime
筆者の場合$PYLIBは以下の通り。
$PYLIB/python%{ver}/=/usr/local/ActivePython-2.1/lib/python2.1
python-1.5.2を利用している場合はモジュール名がDateTimeMXかも。
# cd $PYLIB/python1.5/site-packages
ちなみに筆者の環境ではpsycopg-1.0のコンパイルでこけたような気がしましたが気のせいでした。
# ln -s DateTimeMX DateTime
あと、前から気になってるのがZopeのドロップダウンリストでZ Psycopg Database Connectionが2つ出ます。
実害がないのでそのままで使ってます。
Zopeのマネージメント画面のドロップダウンリストから「Z Psycopg Database Connection」を選択。
!IdやTitleは適当につけて、Enter a Database Connection String のところは以下のようにします。
dbname = zopedb user = zopeuser password = zopepassword
斜線のところは環境に応じて変更して下さい。上記例ではPostgreSQLユーザにzopeuserが存在し、パスワードがzopepasswordでデータベース名がzopedbの場合です。
もちろん、ポートやホストの指定もできます。
Z Psycopg Database Connection の Browse画面でテーブルを確認し、TestでSQL文をたたいてみましょう。
うまく動作すればOKです。
日本ではPostgreSQLをPHPと組み合わせて使うのが圧倒的に多いと思いますが、Zopeでやればとても簡単にできます。
すでにPHPで構築済みのものであってもスムーズに移行できると思いますが、いかがでしょうか
--
SerPenTe
ありがたい情報なんですが、SerPenTeさんの元の記事だと、行間が詰まりすぎてて読みにくいので、レイアウトだけ修正しました。
| Last edited Sun, 10 Sep 2006 02:18:20 +0900 | Edit this page |