pg_copy_to

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

pg_copy_to Копирует данные из таблицы в массив

Описание

pg_copy_to(
    resource $connection,
    string $table_name,
    string $delimiter = ?,
    string $null_as = ?
): array

pg_copy_to() копирует данные из таблицы в массив. Для получения записей посылает серверу команду SQL COPY TO.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

table_name

Имя таблицы, из которой данные копируются в массив rows.

delimiter

Символ-разделитель, отделяющий значения полей в элементах массива rows. По умолчанию TAB.

null_as

Этот параметр отвечает за то, как значения SQL NULL будут представлены в массиве rows. По умолчанию \N ("\\N").

Возвращаемые значения

Массив (array), в котором каждый элемент - строка, полученная с помощью COPY. В случае ошибки возвращает false.

Примеры

Пример #1 Пример использования pg_copy_to()

<?php
   $db 
pg_connect("dbname=publisher") or die("Невозможно подключиться");

   
$rows pg_copy_to($db$table_name);

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

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

Смотрите также

  • pg_copy_from() - Вставляет записи из массива в таблицу

add a note add a note

User Contributed Notes 3 notes

up
1
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