You are here: Home 技術情報 プレゼンテーション資料 43回Linux Seminar発表資料

Personal tools

Document Actions

43回Linux Seminar発表資料

last modified 2006-07-14 17:08

LINET主催,2002年9月26日に開催されたのLinux Seminarでの発表資料です。Zopeの解説や事例,PostgreSQLなどリレーショナルデータベースと接続する際の方法,簡単なデモを含んでいます。

PostgreSQL上のデータをスクリプト言語Pythonで操作するためのモジュールPyGreSQLのインストール方法について解説します。 <--title--> PyGreSQLを使う - インストール <--body-->

PyGreSQLとは

UNIX,Linux,Mac OS X,Windowsなどで稼働するオープンソースのリレーショナルデータベースPostgreSQLとPythonを繋ぐ拡張モジュールです。PostgreSQL上のデータに,Pythonを使ってアクセスすることができます。Python DB API 2.0に対応しています。

PyGreSQLのソースは,古くからPostgreSQLのソースアーカイブに付属しています。また,開発用のCVSツリーがPostgreSQLのツリー上にあるなど,事実上,PostgreSQL - Pythonインターフェースの標準と言えるかもしれません。

最新バージョン

2003年8月20日現在の最新のバージョンは3.2です。

使用にあたって

使用する環境にPythonとPostgreSQLがインストールされている必要があります。PostgreSQLは,後々のことを考え,ソースからインストールすることをおすすめします。

また,外部のマシンで稼働しているPostgreSQLと接続するためには,PostgreSQLの設定で外部からのTCP/IP接続を許す設定をする必要があります。

特定のIPアドレスから接続を許すためには,PostgreSQLの設定ファイル(pg_hba.conf)に,以下のような行を記入します。

 host    データベース名  ユーザー  IPアドレス  IPマスク  認証方法

たとえば,dbnameというデータベースに,usernameというユーザーがIPアドレス192.168.1.100からの接続を許したい場合,以下のような行を埋めこみます。認証方式は「無条件(trust)」です。

 host    dbname  username  192.168.1.100 255.255.255.255 trust

なお,PostgreSQL 7.3以上の場合,設定を追加したあと,PostgreSQLを再起動する必要があります。

参考リンク

PostgreSQL 管理者用ガイド - インストールマニュアル

PostgreSQL 管理者用ガイド - Chapter 6. クライアント認証

PostgreSQL のセキュリティ - リモートからアクセス

インストール - UNIX,Linuxなど

PyGreSQLには2種類のインストール方法があります。

PostgreSQLとともにインストール

PostgreSQLのインストール時に行うconfigureで,オプションを指定してPostgreSQLとともにインストールできます。以下が例です。

 ./configure --enable-multibyte --with-python

PostgreSQL 7.2.xなどに付属のPyGreSQLでは,PyGreSQL自体のインストールオプションの設定からPyGreSQLを正しくインストールできない場合があるようです。最新版(7.3.xなど)に付属しているPyGreSQLであれば,多くのOSで問題なくインストールできるはずです。

単独でインストール

以下のリンクから最新版のソースアーカイブを取得してください。

また,PostgreSQLのソースアーカイブに含まれているPyGreSQLも利用できます。PostgreSQLのソースディレクトリー以下の,src/interfaces/python/というディレクトリーにソースが展開されています。

ソースを取得したら,PyGreSQLのソースディレクトリーに移動します。Super Userになり,

 #python setup.py install

というコマンドを実行します。複数バージョンのPythonがあり,特定のバージョンのPythonで使えるようにPyGreSQLをインストールしたい場合は,

 #python2.3 setup.py install

のようにしてください。

なお,Python 2.0以前にPyGreSQLをインストール場合は,distutilsというモジュールを別途インストールする必要があります。distutilsとは,Pythonモジュールのインストールを支援するためのモジュールです。

PostgreSQLのインストール方法などによっては,上記方法でPyGreSQLがうまくインストールできないかもしれません。その場合は,PyGreSQLのソースディレクトリーにある,setup.pyというファイル中の「パス情報」を書き換えてみてください。33行目からが,UNIX,Linuxで利用される設定です。PostgreSQLのインクルードファイルへのパスや,PostgreSQLのライブラリへのパスなどを,環境にあわせて書き換えてみてください。

Windows版のインストール

UNIX,Linuxとほぼ同様にインストールできるようですが,ライブラリーのビルドにC++コンパイラーが必要です。以前はバイナリー版が配布されていましたが,現在は配布されていないようです。

なお,こちらのサイト(英文)に,「メールをくれればバイナリー版を送る」とあります。

関連リンク