"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.
  
connectionAn PgSql\Connection instance.
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").
      
| Version | Description | 
|---|---|
| 8.1.0 | The connectionparameter expects an PgSql\Connection
  instance now; previously, a resource 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 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;");
?>