pg_lo_create

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_create — 큰 객체 생성


설명

pg_lo_create(PgSql\Connection $connection = ?, mixed $object_id = ?): int

pg_lo_create(mixed $object_id): int

pg_lo_create()는 큰 개체를 만들고 큰 개체의 OID를 반환합니다. PostgreSQL 액세스 모드 INV_READ, INV_WRITEINV_ARCHIVE는 지원되지 않으며 객체는 항상 읽기 및 쓰기 액세스로 생성됩니다. INV_ARCHIVE가 PostgreSQL 자체에서 제거되었습니다(버전 6.3 이상).

Large Object Interface를 사용하기 위해서는 이를 트랜잭션 블록으로 묶어야 합니다.

접근 제어가 없고 사용하기 번거로운 대형 객체 인터페이스를 사용하는 대신 PostgreSQL의 bytea 유형과 pg_escape_bytea()를 사용해 보십시오.

메모: 이 함수는 pg_locreate()라고 불렸습니다.


매개변수

connection
PgSql\Connection 인스턴스. connection을 지정하지 않으면 기본 연결이 사용됩니다. 기본 연결은 pg_connect() 또는 pg_pconnect()에 의해 만들어진 마지막 연결입니다.
object_id
object_id가 주어지면 함수는 이 id로 큰 개체를 만들려고 시도하고, 그렇지 않으면 서버에서 무료 개체 ID를 할당합니다. 이 매개변수는 PostgreSQL 8.1에 처음 등장한 기능에 의존합니다.

반환 값

대형 개체 OID 또는 실패 시 false입니다.


변경 로그

버전 설명
8.1.0 connection 매개변수는 이제 PgSql\Connection 인스턴스를 필요로 합니다. 이전에는 resource가 필요했습니다.

Examples

예제 #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");
?>