pg_lo_create
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_lo_create — Cria um objeto grande
Descrição
pg_lo_create() cria um objeto grande
e retorna o OID do objeto
grande. Os modos de acesso do PostgreSQL
INV_READ
, INV_WRITE
e
INV_ARCHIVE
não são suportados, o
objeto é criado sempre com acesso de leitura e
gravação. INV_ARCHIVE
foi removido do próprio PostgreSQL
(versão 6.3 e superior).
Para usar a interface de objeto grande, é necessário incluí-la em um bloco de transação.
Em vez de usar a interface de objeto grande (que não tem controles de acesso e é complicada de usar), experimente o tipo de coluna bytea e pg_escape_bytea() do PostgreSQL.
Note:
Esta função costumava ser chamada de pg_locreate().
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().WarningA partir do PHP 8.1.0, usar a conexão padrão tornou-se defasado.
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
Um objeto grande OID, 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
Example #1 Exemplo de 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, "large object data");
pg_lo_close($handle);
pg_query($database, "commit");
?>