pg_put_line

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

pg_put_lineEnvia uma string terminada em NULL para o backend PostgreSQL

Descrição

pg_put_line ( resource $connection = ? , string $data ) : bool

pg_put_line() envia uma string terminada em NULL para o servidor backend PostgreSQL. Isso é útil, por exemplo, para a inserção de dados em uma tabela em alta velocidade, iniciada através de uma operação de cópia PostgreSQL. O caractere NULL final é adicionado automaticamente. Retorna true em caso de sucesso ou false em caso de falha.

Nota:

A aplicação deve enviar os dois caracteres "\." explicitamente na última linha para indicar ao backend que ela terminou de enviar seus dados.

Exemplo #1 Inserção de dados na tabela em alta velocidade

<?php
    $conn 
pg_pconnect("nomebd=meubanco");
    
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\tola mundo\t4.5\n");
    
pg_put_line($conn"4\ttchau mundo\t7.11\n");
    
pg_put_line($conn"\\.\n");
    
pg_end_copy($conn);
?>

Veja também pg_end_copy().

add a note add a note

User Contributed Notes 2 notes

up
2
kurt at nospam dot milliganshome dot net
18 years ago
This is the function you need if you are running into the infamous "must be superuser to COPY to or from a file" error from postgres.
up
0
smcbride at msn dot com
3 years ago
When using this function, don't get bit by using 'literal\tanotherliteral\n' issue by using single quotes vs. double quotes.  "literal\tanotherliteral\n" is not the same.  Many of the functions are impacted on how double quotes treats escape characters different than single quotes.  I forget it all the time.
To Top