読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

Ubuntuでローカルのpostgresに接続する手順

Ubuntu9.0.4で、Rubyからローカルのpostgresに接続する手順のメモです。

Ruby/DBIのインストール

Ruby/DBIrubyから各種DBへの接続を透過的に行う為のインターフェイスです。Javaの世界におけるJDBCみたいなものと理解。Ubuntuではパッケージが用意されているのでそれをインストールします。

$ apt-get install libdbd-pg-ruby1.8

※当初、gem経由でインストールしようとしてドはまり。

$ gem install dbi
$ gem install dbd-pg

dbiはインストールできるのですが、dbd-pgのインストールでpg_configがないとかいう感じのエラーに。postgresql-devel的なパッケージを探すもそれっぽいのはないなー → あれ「libdbd-pg-ruby1.8」とかあるぞ、となった次第。

接続用ユーザーを作る

postgresユーザーで接続するのはなんとなく気が引けたので、接続用ユーザーを作成。

$ su - postgres
$ createuser -P <ユーザー名>

テスト用テーブルにアクセス権を付与します。

$ psql test
# GRANT ALL PRIVILEGES ON kitten TO <ユーザー名>;

接続プログラム例

後は、こんな感じのコードを書けば接続可能です。

require 'dbi'
db = DBI.connect("DBI:Pg:test:localhost", "<ユーザー名>", "<パスワード>")
st = db.execute("SELECT * FROM kitten")
st.fetch { |row|
  p row
}
st.finish

実行結果です。

["mii", 1]
["tora", 2]