"http://www.w3.org/TR/html4/strict.dtd">
PostgreSQLにアクセスするためのクラス。その他のメソッドはlibpqとほぼ同じインタフェースで提供されます。
例えば、localhost 上の PostgreSQL に接続し、query を出すためには以下のようにして行います。
require "postgres" conn = PGconn.connect("localhost", 5432, "", "", "test1") res = conn.exec("select * from a;")
Object
connect(pghost,
pgport, pgoptions,
pgtty, dbname, login,
passwd)
new(pghost,
pgport, pgoptions,
pgtty, dbname, login,
passwd)
失敗した場合は PGError
例外が発生します。
db
host
user
options
port
tty
error
finish
close
reset
trace(port)
untrace
exec(sql)
query(sql)
async_exec(sql)
async_query(sql)
get_notify
insert_table(table,
array)
getline
fgets(3)
と同様に、このメソッドはget(3)
と同様に終端行をヌルに変換します。getlineはEOFの場合は、nil を、行全体を読み取った場合は0を、まだ改行コードを読み取っていない場合は1を返します。このメソッドを使用する時の注意点は、バックエンドサーバが結果の送信を完了したことを示す単一文字"."を新規行に送信したことを確認しなければならないことです。putline(string)
endcopy
set_client_encoding
client_encoding
lo_import(file)
PGError
例外が発生します。
lo_export(oid, file)
lo_create([mode])
PGError
例外が発生します。
lo_open(oid, [mode])
PGError
例外が発生します。"INV_READ","INV_WRITE"のどちらかのモードを指定します。失敗すると PGError
例外が発生します。モードを省略した場合は"INV_READ"です。
lo_unlink(oid)
Queryの結果として得られたタップルをwrapするクラス.このクラス のインスタンスは、queryを行うたびに生成されます。故に得られた 結果が不要になった場合には、clearを呼び出してメモリを解放する ようにして下さい。
Object
status
result
fields
num_tuples
num_fields
fieldname(index)
fieldnum(name)
type(index)
size(index)
getvalue(tup_num, field_num)
getlength(tup_num, field_num)
cmdstatus
clear
ラージオブジェクトにアクセスするためのクラス。このオブジェクトは lo_import, lo_create, lo_open の結果として返されます。
Object
open([mode])
PGError
例外が発生します。モードを省略した場合は"INV_READ"です。
close
read([length])
write(str)
seek(offset, whence)
tell
unlink
oid
size
export(file)