(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
y INV_WRITE no son
soportados: el objeto siempre puede ser creado con
permisos de lectura y escritura.
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().
connectionUna PgSql\Connection instancia.
Cuando connection no es especificado, se usa la conexión por
defecto. La conexión predeterminada es la última conexión hecha por pg_connect()
o pg_pconnect()
Desde PHP 8.1.0, usar la conexión predeterminada está obsoleto.
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.
Un objeto grande OID, o false si ocurre un error.
| Versión | Descripción |
|---|---|
| 8.1.0 |
El parámetro connection ahora espera una instancia de PgSql\Connection
; anteriormente, se esperaba un resource.
|
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");
?>