pg_lo_create
ラージオブジェクトを生成する
説明
int pg_lo_create(PgSql\Connection $connection
= ?, mixed $object_id
= ?)
int pg_lo_create(mixed $object_id
)
ラージオブジェクトインターフェイスは、トランザクションブロックの中で
使用する必要があります。
ラージオブジェクトインターフェイス(アクセス制御もできないし使用が面倒)
を使用するかわりに、PostgreSQL の bytea カラム型と
pg_escape_bytea を試してください。
注意:
この関数は、以前は pg_locreate と呼ばれていました。
パラメータ
-
connection
-
PgSql\Connection クラスのインスタンス。
connection
が指定されない場合は、デフォルトの接続を使います。
デフォルトの接続とは、pg_connect または pg_pconnect によって確立された直近の接続です。
警告PHP 8.1.0 以降では、デフォルトの接続を使うことは推奨されなくなりました。
-
object_id
-
object_id
が指定されると、
この関数は指定された ID のラージオブジェクトを作成しようとします。
それ以外の場合は、サーバーから割り当てられたオブジェクト ID を使用します。
このパラメータは PostgreSQL 8.1 以降の新機能に依存しています。
戻り値
ラージオブジェクトの OID を返します。
失敗した場合に false
を返します
例
例1 pg_lo_create の例
<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_create($database);
echo "$oid\n";
$handle = pg_lo_open($database, $oid, "w");
echo "$handle\n";
pg_lo_write($handle, "large object data");
pg_lo_close($handle);
pg_query($database, "commit");
?>