"It issues COPY TO SQL command internally to insert records"
I suspect this statement is incorrect, or that s/insert/retrieve/ is appropriate.(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Примірник PgSql\Connection.
table_name
Name of the table from which to copy the data into rows.
separator
The token 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").
An array with one element for each line of COPY data, або false в разі помилки.
| Версія | Опис |
|---|---|
| 8.1.0 |
Тепер параметр connection має бути примірником
PgSql\Connection. Раніше очікувався resource.
|
Приклад #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 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 ...)');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;");
?>