(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_copy_to — Copy a table to an array
$connection
,
$table_name
,
$separator
= "\t"
,
$null_as
= "\\\\N"
pg_copy_to()
copies a table to an array. It
issues
COPY TO
SQL command internally to
retrieve records.
connection
An PgSql\Connection instance.
table_name
Name of the table from which to copy the data into
rows
.
separator
The toquen that separates values for each field in each element of
rows
. Default is
\t
.
null_as
How SQL
NULL
values are represented in the
rows
. Default is
\\N
(
"\\\\N"
).
| Versionen | Description |
|---|---|
| 8.1.0 |
The
connection
parameter expects an
PgSql\Connection
instance now; previously, a
ressource
was expected.
|
Example #1 pg_copy_to() example
<?php
$db
=
pg_connect
(
"dbname=publisher"
) or die(
"Could not connect"
);
$rows
=
pg_copy_to
(
$db
,
$table_name
);
pg_query
(
$db
,
"DELETE FROM
$table_name
"
);
pg_copy_from
(
$db
,
$table_name
,
$rows
);
?>
"It issues COPY TO SQL command internally to insert records"
I suspect this statement is incorrect, or that s/insert/retrieve/ is appropriate.
Worth noting here that just lique the COPY TO statement in PostgreSQL, '$table_name' can include a list of columns or be a select kery as well.
e.g.:
$rows = pg_copy_to($db,'schema."TableName" (column1, column2, ...)';
$rows = pg_copy_to($db,'(SELECT ...)');
You cannot specify the schema name in this command. You can changue the search path for just one kery 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;");
?>