OSXで最速でOCamlでPostgresqlに接続するには
前提
HomeBrew でbashを使用
準備
brew update brew install opam opam init opam install utop opam install postgresql-ocaml
HomeBrewでopamを入れたら、opam initの他にもあれこれ指示されるが、シカトしても大丈夫そう。 最近はopam initが面倒を見てくれる模様。
opan initで.profileを.bash_profileに変更するのが吉と思われ (自分は.profileのまま進めて、あとで.bash_profileに追加内容を貼り付けた。)
postgresというパッケージもあるので注意!
PostgreSQLに接続する。
utopを起動する
utop
OCamlでPostgreSQLに接続
#use "topfind";; #thread;; #require "postgresql";; open Postgresql;; let c1 = new connection ~dbname:"dbname" ~host:"hostname" ~user:"foo" ();;
以降のヒント
let query = "SELECT name,distro FROM userinfo WHERE gui = $1 ORDER BY name";; let rs = conn#exec ~expect:[Tuples_ok] ~params:[|Sys.argv.(1)|] query;; conn#finish;; Printf.printf "Number of matches: %d\n%-20s| %s\n%s\n" rs#ntuples "User" "Distro" (String.make 35 '-');; for i = 0 to rs#ntuples - 1 do let row = rs#get_tuple i in Printf.printf "%-20s| %s\n" row.(0) row.(1); done;;
関連リンク
関連記事
- WindowsにOCaml入れようとしてocamlfindが動かない件
- OCaml(OpenGL)で「プログラムでシダを描画する」を通して学んだことのまとめ
- npm install pgだけでは済まない件
- PostgreSQL 9.0への移行~失敗編~
- 64ビット版のVistaでPostgreSQLをODBC経由で使うには
- まさかPostgreSQLを触って、IPv6の知識が増えるとは