PythonでPostgreSQLにアクセスする

手順

  1. PyGreSQLをインストールします
  2. 外部のマシンで稼動しているPostgreSQLにアクセスします

  →「ImportError: DLL load failed」というエラーが出力された。
  →Webで調べるとlibpq.dllにパスが通っている必要があるみたいなのでパスを通す。CSElibpq.dllが入っているのでCSEにパスを通したら問題なく実行することができた。

pythonコードは以下のような感じで簡単にPostgreSQLにアクセスできます。

#! /usr/bin/python
# coding:utf-8
import pg

# pg.connectでPostgreSQLに接続
# args dbname, host, port, opt, tty, user, passwd
con = pg.connect('zeeta','192.168.1.1',7625,'','','zeeta','zeeta')

# queryメソッドでSQL文を実行
sql = 'select docid,doctitle,newdate,username from doc where newDate between (current_date - 1) and current_date'
qobj = con.query(sql)

# ntuplesメソッドで件数を取得
print "rows=%d\n" % qobj.ntuples()

# listfieldメソッドでカラム名を取得
print str(qobj.listfields())

# getresultメソッドでSQL結果を取得
result = qobj.getresult()
for e in result:
  print u'%s,%s,%s,%s' % e

# closeメソッドでデータベース切断
con.close()