PostgreSQLにアクセスするためのクラス。その他のメソッドはlibpqとほぼ同じインタフェースで提供されます。
例えば、localhost 上の PostgreSQL に接続し、query を出すためには以下のようにして行います。
require "postgres" conn = PGconn.connect("localhost", 5432, "", "", "test1") res = conn.exec("select * from a;")
Object
connect(pghost,
pgpost, pgoptions,
pgtty, dbname, login,
passwd)
new(pghost,
pgpost, pgoptions,
pgtty, dbname, login,
passwd)
失敗した場合は PGError
例外が発生します。
db
host
user
options
port
tty
error
finish
close
reset
trace(port)
untrace
exec(sql)
query(sql)
get_notify
insert_table(table,
array)
getline
fgets(3)
と同様に、このメソッドは8Kbyte - 1 byteの文字を読み取りますが、get(3)
と同様に終端行をヌルに変換します。getlineはEOFの場合は、nil を、行全体を読み取った場合は0を、8Kを越えるのにまだ改行コードを読み取っていない場合は1を返します。このメソッドを使用する時の注意点は、バックエンドサーバが結果の送信を完了したことを示す単一文字"."を新規行に送信したことを確認しなければならないことです。putline(string)
endcopy
loimport(file)
PGError
例外が発生します。
loexport(oid, file)
locreate([mode])
PGError
例外が発生します。
loopen(oid, [mode])
PGError
例外が発生します。"INV_READ","INV_READ"のどちらかのモードを指定します。失敗すると PGError
例外が発生します。モードを省略した場合は"INV_READ"です。
lounlink(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
The class to access large object. The object of this class is created as the result of loimport, locreate, and loopen.
Object
open([mode])
PGError
例外が発生します。モードを省略した場合は"INV_READ"です。
close
read([length])
write(str)
seek(offset, whence)
tell
unlink
oid
size
export(file)
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies. IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.