Главная | Руководство по MySQL | MySQL Manual | Документация к HTTP серверу Apache | Apache HTTP Server Documentation | downloads | faq

искать  Язык: Английский


(PHP 4 >= 4.2.0, PHP 5)

pg_copy_fromInsert records into a table from an array


bool pg_copy_from ( resource $connection , string $table_name , array $rows [, string $delimiter [, string $null_as ]] )

pg_copy_from() inserts records into a table from rows . It issues a COPY FROM SQL command internally to insert records.

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


PostgreSQL database connection resource.


Name of the table into which to copy the rows .


An array of data to be copied into table_name . Each value in rows becomes a row in table_name . Each value in rows should be a delimited string of the values to insert into each field. Values should be linefeed terminated.


The token that separates values for each field in each element of rows . Default is TAB.


How SQL NULL values are represented in the rows . Default is \N ("\\N").

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

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.


Пример #1 pg_copy_from() example

pg_connect("dbname=publisher") or die("Could not connect");
$rows pg_copy_to($db$table_name);
pg_query($db"DELETE FROM $table_name");

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

User Contributed Notes
etiger13 at gmail dot com
17-Nov-2009 07:10
This will not look in other schema's, only the schema's in your search path. You can temporarily change this behavior with the following code:

($conn, "SET search_path TO myschema;");

$copy_from = pg_copy_from($conn, 'tablename', $filetoarray, ",");
if ( !
$copy_from )

pg_query("RESET search_path;");
11-Jun-2009 10:08
see also: pg_put_line for a solution that does not require buffering of all the data to be copied,
kapouer_php at melix dot org
26-Aug-2007 09:24
pg syntax is :
COPY test (cola, colb, colc) FROM stdin;

this function doesn't let you in which order the columns are !
vlad at php dot net
19-Mar-2003 09:38
By default NULL values are a backslash followed with capital N ("\\N").

Also, you can't insert entries with OIDs (I've added it to my TODO list though)
carl at thep.lu.se
10-Sep-2002 10:06
Something needs to be said about the format of the array.
Judging by what I've seen, it's pretty much what you get
from loading a tab-separated file with file(). That is, the
lines are linefeed-terminated and there's no need to have
an extra line with "\.". On the other hand, when I try using this
command the connection to the server ends up in some odd
state and is then lost:
PHP Warning:  U�S�o() query failed: server closed the connection unexpectedly

I think it might be safer to use the lower-level function
pg_put_line() for now.
16-Jul-2002 06:10
For starters, you can check the first line of every function document. It tells the minimum versions of PHP that you need in order to use the function.

credits | contact