CascadiaPHP 2024

pg_copy_to

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

pg_copy_to Copia uma tabela para um array

Descrição

pg_copy_to(
    PgSql\Connection $connection,
    string $table_name,
    string $separator = "\t",
    string $null_as = "\\\\N"
): array|false

pg_copy_to() copia uma tabela para um array. Ele emite o comando SQL COPY TO internamente para recuperar registros.

Parâmetros

connection

Uma instância de PgSql\Connection.

table_name

Nome da tabela da qual copiar os dados em rows.

separator

O token que separa os valores de cada campo em cada elemento de rows. O padrão é \t.

null_as

Como os valores SQL NULL são representados nas rows. O padrão é \\N ("\\\\N").

Valor Retornado

Um array com um elemento para cada linha de dados COPY, 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_copy_to()

<?php
$db
= pg_connect("dbname=publisher") or die("Não foi possível conectar");

$rows = pg_copy_to($db, $table_name);

pg_query($db, "DELETE FROM $table_name");

pg_copy_from($db, $table_name, $rows);
?>

Veja Também

  • pg_copy_from() - Insere registros em uma tabela a partir de um array

add a note

User Contributed Notes 3 notes

up
0
John M
3 years ago
Worth noting here that just like the COPY TO statement in PostgreSQL, '$table_name' can include a list of columns or be a select query as well.
e.g.:
$rows = pg_copy_to($db,'schema."TableName" (column1, column2, ...)';
$rows = pg_copy_to($db,'(SELECT ...)');
up
0
setantae at submonkey dot net
21 years ago
"It issues COPY TO SQL command internally to insert records"

I suspect this statement is incorrect, or that s/insert/retrieve/ is appropriate.
up
-3
etiger13 at gmail dot com
14 years ago
You cannot specify the schema name in this command. You can change the search path for just one query by using the following code:

<?php
pg_query
($conn, "SET search_path TO myschema;");

$copy_to = pg_copy_to($conn, 'tablename');

pg_query("RESET search_path;");
?>
To Top