pg_lo_import

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

pg_lo_import Importa un objeto de gran tamaño desde un fichero

Descripción

pg_lo_import(PgSql\Connection $connection = ?, string $pathname, mixed $object_id = ?): int

pg_lo_import() crea un nuevo objeto de gran tamaño en la base de datos utilizando un fichero en el sistema de ficheros como datos de origen.

Para utilizar un objeto de gran tamaño (lo), es necesario hacerlo dentro de una transacción.

Nota:

Anteriormente, esta función se llamaba pg_loimport().

Parámetros

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().

Advertencia

As of PHP 8.1.0, using the default connection is deprecated.

pathname

La ruta de acceso completa y el fichero desde el cual se leerá el objeto de gran tamaño en el sistema del cliente.

object_id

Si el argumento object_id es proporcionado, la función intentará crear un objeto grande con este identificador, de lo contrario, un identificador de objeto disponible será asignado por el servidor. Este argumento depende de una funcionalidad que apareció con PostgreSQL 8.1.

Valores devueltos

El OID del nuevo objeto de gran tamaño creado, o false en caso de error.

Historial de cambios

Versión Descripción
8.1.0 The connection parameter expects an PgSql\Connection instance now; previously, a recurso was expected.

Ejemplos

Ejemplo #1 Ejemplo con pg_lo_import()

<?php
$database
= pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_import($database, '/tmp/lob.dat');
pg_query($database, "commit");
?>

Ver también

add a note

User Contributed Notes 4 notes

up
1
vi2 at vi2 dot com
22 years ago
its not very clear if pg_lo_import needs to have pg_lo_open called first. Because pg_lo_import handles the process of writign to the file, it seems logical that pg_lo_open does not need to be called. However due to the ugly nature of how postgres handles oid objects, it would be nice to have this documented.
up
1
yohgaki at php dot net
23 years ago
Due to a bug, OLD API does not available with PHP 4.2.0 and 4.2.1.

PHP 4.2.2 will support OLD API again and will be kept long enough.

New API will be available PHP 4.2.0 to later versions.
up
1
yohgaki at php dot net
23 years ago
Due to a bug, PHP 4.2.0 and 4.2.1 does not support pg_lo_import() old API. It's fixed in PHP 4.2.2.

BTW, new API will be always available from PHP 4.2.0 to later versions. Older API will be kept long enough, also.
up
0
ceco at noxis dot net
23 years ago
it works for me (php-4.2.1)

not like this

int pg_lo_import ( string pathname [, resource connection])

but
int pg_lo_import ( resource connection, string pathname )

don't know the reason
To Top