Documentación offline PHP master

pg_lo_create

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

pg_lo_create

Crea un objeto de gran tamaño de PostgreSQL

Descripción#

pg_lo_create([PgSql\Connection $connection], [mixed $object_id]): int
```php

```php
pg_lo_create(mixed $object_id): int

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.

[!NOTE] Anteriormente, esta función se llamaba pg_locreate.

Parámetros#

connection
Una 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

[!WARNING] 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.

Valores devueltos#

Un objeto grande OID, o false si ocurre un error.

Historial de cambios#

Versión Descripción
8.1.0 El parámetro connection ahora espera una instancia de PgSql\Connection ; anteriormente, se esperaba un resource.

Ejemplos#

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