(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_lo_create — Crea un objeto de gran tamaño de PostgreSQL
pg_lo_create() crea un objeto de gran tamaño
y devuelve su OID. Los modos de acceso de PostgreSQL INV_READ
,
INV_WRITE
y INV_ARCHIVE
no son
soportados: el objeto siempre puede ser creado con
permisos de lectura y escritura. El modo
INV_ARCHIVE
ha sido eliminado de las bases de datos PostgreSQL (versión 6.3 y posteriores).
Para utilizar un objeto de gran tamaño, es necesario hacerlo dentro de una transacción.
En lugar de utilizar la interfaz de objetos de gran tamaño (que no tiene ningún control de acceso y es engorroso de usar), se recomienda utilizar la columna de tipo bytea de PostgreSQL y pg_escape_bytea().
Nota:
Anteriormente, esta función se llamaba pg_locreate().
connection
An PgSql\Connection instance.
When connection
is unspecified, the default connection is used.
The default connection is the last connection made by pg_connect()
or pg_pconnect().
As of PHP 8.1.0, using the default connection is deprecated.
object_id
Si se proporciona el argumento object_id
, la función
intentará crear un objeto grande con este identificador; de lo contrario, se asignará un identificador
de objeto disponible por el servidor. Este argumento depende de una
funcionalidad que apareció con PostgreSQL 8.1.
Un objeto grande OID, o false
en caso de error.
Versión | Descripción |
---|---|
8.1.0 |
The connection parameter expects an PgSql\Connection
instance now; previously, a recurso was expected.
|
Ejemplo #1 Ejemplo con 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, "datos de objeto de gran tamaño");
pg_lo_close($handle);
pg_query($database, "commit");
?>