psycopg2がPostgreSQL7でエラーに

手持ちの環境でこんなpythonコードがエラーになりました。

>>from pyscopg2 import tz
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/local/hoge_env/lib/python2.4/site-packages/psycopg2/__init__.py", line 69, in ?
    from _psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: /usr/local/hoge_env/lib/python2.4/site-packages/psycopg2/_psycopg.so: undefined symbol: PQserverVersion

Google先生にきいたところ、どうやらpsycopg2はPostgreSQL7以下だとダメらしい。*1

最新のPostgres8.4.4をインストールの上、psycopg2を再インストール。

$ tar -bxvf /tmp/postgresql-8.4.4.tar.bz2
$ cd postgresql-8.4.4
$ ./configure --prefix=/usr
$ make
# make install
# cd /usr/local/hoge_env
# bin/pip install --upgrade psycopg2

これで解決しました。

*1:ヒットしたのはRubyのなんかだったけど