ZopeとPostgreSQLをつなぐ必要があり、psycopgを使って接続した際の備忘録です。
PostgreSQLのインストール状況の確認
psycopg-1.1.6.tar.gz をダウンロード、解凍して、インストール。
/zope_instance_path/Products に ZPsycopgDA をコピーして、Zopeを再起動
ZopeからPostgreSQLに正常に接続、データを取得できることを確認できました。
PostgreSQLのインストール状況の確認
$ sudo rpm -qa | grep postgres postgresql-odbc-08.04.0200-1.el6.i686 postgresql-libs-8.4.13-1.el6_3.i686 postgresql-server-8.4.13-1.el6_3.i686 postgresql-devel-8.4.13-1.el6_3.i686 postgresql-8.4.13-1.el6_3.i686 postgresqlが、サービスに登録されていることを確認 $ ls /etc/init.d/ abrt-ccpp functions postgresql spice-vdagentd ... OS起動時のPostgreSQL起動を設定 $ sudo chkconfig postgresql on $ sudo chkconfig --list postgresql postgresql 0:off 1:off 2:on 3:on 4:on 5:on 6:off PostgreSQLの起動 $ sudo service postgresql initdb データベースを初期化中: [ OK ] $ sudo service postgresql start postgresql サービスを開始中: [ OK ]PostgreSQLで操作用のユーザーを作成しておきます。
$ sudo su - postgres -bash-4.1$ createuser test_user 新しいロールをスーパーユーザとしますか? (y/n)n 新しいロールにデータベース作成権限を与えますか? (y/n)y 新しいロールにロールを作成する権限を与えますか? (y/n)n $ exit logout 操作用のユーザーに切り替えて、データベースを作成して、そのデータベースに接続できることを確認しておきます。 $ su - test_user $ createdb sampledb $ psql sampledbpsycopg-1.1.6のインストール
psycopg-1.1.6.tar.gz をダウンロード、解凍して、インストール。
$ wget http://old.zope.org/Members/fog/psycopg/1.1.6/psycopg-1.1.6.tar.gz $ tar vxzf psycopg-1.1.6.tar.gz $ cd psycopg-1.1.6 $ ./configure --with-python=/opt/python2.4.6/bin/python --with-postgres-libraries=/usr/lib/pgsql --with-postgres-includes=/usr/include/pgsql/server --with-mxdatetime-includes=/opt/python2.4.6/lib/python2.4/site-packages/mx/DateTime/mxDateTime $ make $ sudo make install Installing shared modules... install -m 555 ./psycopgmodule.so /opt/python2.4.6/lib/python2.4/site-packages 下記のオプションを付けないと --with-postgres-libraries=/usr/lib/pgsql --with-postgres-includes=/usr/include/pgsql/server checking PostgreSQL version... configure: error: missing PostgreSQL headers というエラーが表示されます。 下記のオプションを付けないと --with-mxdatetime-includes=/opt/python2.4.6/lib/python2.4/site-packages/mx/DateTime/mxDateTime checking for mxDateTime.h... configure: error: can't build without mx headers というエラーが表示されます。 その解消のために,egenix-mx-base 3.2.6のインストールが必要 https://pypi.python.org/pypi/egenix-mx-base/ $ wget https://downloads.egenix.com/python/index/ucs2/egenix-mx-base/3.2.6/egenix-mx-base-3.2.6.tar.gz $ tar vxzf egenix-mx-base-3.2.6.tar.gz $ cd egenix-mx-base-3.2.6 $ sudo /opt/python2.4.6/bin/python setup.py build $ sudo /opt/python2.4.6/bin/python setup.py installZPsycopgDAのインストール
/zope_instance_path/Products に ZPsycopgDA をコピーして、Zopeを再起動
ZopeからPostgreSQLに正常に接続、データを取得できることを確認できました。
0 件のコメント:
コメントを投稿