CascadiaPHP 2024

pg_lo_import

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

pg_lo_importImporta um objeto grande do arquivo

Descrição

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

pg_lo_import() cria um novo objeto grande no banco de dados usando um arquivo no sistema de arquivos como fonte de dados.

Para usar a interface de objeto grande, é necessário incluí-la em um bloco de transação.

Nota:

Esta função costumava ser chamada de pg_loimport().

Parâmetros

connection

Uma instância de PgSql\Connection. Quando o parâmetro connection não for especificado, a conexão padrão será usada. A conexão padrão é a última conexão feita por pg_connect() ou pg_pconnect().

Aviso

A partir do PHP 8.1.0, usar a conexão padrão tornou-se defasado.

pathname

O caminho completo e o nome do arquivo no sistema de arquivos do cliente a partir do qual serão lidos os dados do objeto grande.

object_id

Se um object_id for fornecido, a função tentará criar um objeto grande com este id, caso contrário, um id de objeto livre será atribuído pelo servidor. O parâmetro depende da funcionalidade que apareceu pela primeira vez no PostgreSQL 8.1.

Valor Retornado

O OID do objeto grande recém-criado, ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.1.0 O parâmetro connection agora espera uma instância de PgSql\Connection; anteriormente, um resource era esperado.

Exemplos

Exemplo #1 Exemplo de 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");
?>

Veja Também

add a note

User Contributed Notes 4 notes

up
1
vi2 at vi2 dot com
21 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
22 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
22 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
22 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