PG_LO_CREATE(3) PG_LO_CREATE(3)
pg_lo_create - Create a large object
SYNOPSIS
int pg_lo_create ([resource $connection], [mixed $object_id])
DESCRIPTION
int pg_lo_create (mixed $object_id)
pg_lo_create(3) creates a large object and returns the $OID of the large object. PostgreSQL access modes INV_READ, INV_WRITE, and INV_AR-
CHIVE are not supported, the object is created always with both read and write access. INV_ARCHIVE has been removed from PostgreSQL itself
(version 6.3 and above).
To use the large object interface, it is necessary to enclose it within a transaction block.
Instead of using the large object interface (which has no access controls and is cumbersome to use), try PostgreSQL's $bytea column type
and pg_escape_bytea(3).
Note
This function used to be called pg_locreate(3).
PARAMETERS
o $connection
- PostgreSQL database connection resource. When $connection is not present, the default connection is used. The default connection
is the last connection made by pg_connect(3) or pg_pconnect(3).
o $object_id
- If an $object_id is given the function will try to create a large object with this id, else a free object id is assigned by the
server. The parameter was added in PHP 5.3 and relies on functionality that first appeared in PostgreSQL 8.1.
RETURN VALUES
A large object $OID or FALSE on error.
CHANGELOG
+--------+-------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+-------------------------------------+
| 5.3.0 | |
| | |
| | The optional $object_id was added. |
| | |
+--------+-------------------------------------+
EXAMPLES
Example #1
pg_lo_create(3) example
<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_create($database);
echo "$oid
";
$handle = pg_lo_open($database, $oid, "w");
echo "$handle
";
pg_lo_write($handle, "large object data");
pg_lo_close($handle);
pg_query($database, "commit");
?>
PHP Documentation Group PG_LO_CREATE(3)