pg_put_line
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pg_put_line — Envia uma string terminada em NULL para o backend do PostgreSQL
Descrição
pg_put_line() envia uma string terminada em NULL
para o servidor backend do PostgreSQL. Isto é necessário em conjunto
com o comando COPY FROM
do PostgreSQL.
COPY
é uma interface de carregamento de dados de alta velocidade
suportada pelo PostgreSQL. Os dados são transmitidos sem serem analisados
e em uma única transação.
Uma alternativa ao uso de comandos pg_put_line() brutos é usar pg_copy_from(). Esta é uma interface muito mais simples.
Note:
A aplicação deve enviar explicitamente os dois caracteres "\." na última linha para indicar ao backend que terminou de enviar seus dados, antes de emitir pg_end_copy().
O uso de pg_put_line() faz com que a maioria das operações de objetos grandes, incluindo pg_lo_read() e pg_lo_tell(), falhem posteriormente. Você pode usar pg_copy_from() e pg_copy_to() no lugar.
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.
data
-
Uma linha de texto a ser enviada diretamente para o backend do PostgreSQL. Um terminador
NULL
é adicionado automaticamente.
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_put_line()
<?php
$conn = pg_pconnect("dbname=foo");
pg_query($conn, "create table bar (a int4, b char(16), d float8)");
pg_query($conn, "copy bar from stdin");
pg_put_line($conn, "3\thello world\t4.5\n");
pg_put_line($conn, "4\tgoodbye world\t7.11\n");
pg_put_line($conn, "\\.\n");
pg_end_copy($conn);
?>