PostgreSQL ODBC Driver のインストール
PostgreSQL のODBCドライバ(psqlodbcw.so)のソースコードを入手してコンパイルインストールを行います。この記事では、PostgreSQL ODBC Driver 08.04.200 を用いています。
※unixODBCがインストールされていなければなりません。
PostgreSQL ODBC Driverの最新版を取得
# cd /usr/local/src # wget http://wwwmaster.postgresql.org/redir/323/f/odbc/versions/src/psqlodbc-08.04.0200.tar.gz ~省略~ 100%[=================================================>] 725,393 2.12M/s in 0.3s 20:18:05 (2.12 MB/s) - `psqlodbc-08.04.0200.tar.gz' を保存しました [725393]
TARボールを展開
# tar -zxvf psqlodbc-08.04.0200.tar.gz ~省略~ # chown -R postgres.postgres psqlodbc-08.04.0200
環境変数LD_LIBRARY_PATHの登録
$ vi .bash_profile ~省略~ export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/pgsql/lib
コンパイル準備
# ./configure
~省略~
configureの実行後に出力される最終行付近で下記のエラーが出力されたら環境変数LDFLAGSを設定して実行してください。
checking size of long... configure: error: cannot compute sizeof (long), 77
# export LDFLAGS='-Xlinker -rpath /usr/local/lib' # ./configure ~省略~
上記と同じように libpq のエラーが現れた場合は、configure オプションに "--with-libpq" を付与します。
# ./configure --with-libpq=/usr/local/pgsql
configure オプションに "--with-unixodbc" も必要になる場合があります。
# ./configure --with-unixodbc --with-libpq=/usr/local/pgsql
コンパイル
$ make
インストール
# make install ~省略~ make[1]: ディレクトリ `/usr/local/src/psqlodbc-08.04.0200' から出ます
確認
# ls /usr/local/lib/psqlodbcw.so /usr/local/lib/psqlodbcw.so
ODBCの設定
$ cd ~/ $ vi odbc.ini [PGSQL] Driver=/usr/local/lib/psqlodbcw.so #Driver=/usr/local/lib/libpsqlodbc.so Database=postgres Servername=localhost Port=5432
環境変数ODBCINIの設定
$ export ODBCINI=/home/postgres/odbc.ini
接続確認
$ isql -v PGSQL postgres password +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL> quit