PG_PUT_LINE(3) PG_PUT_LINE(3)
pg_put_line - Send a NULL-terminated string to PostgreSQL backend
SYNOPSIS
bool pg_put_line ([resource $connection], string $data)
DESCRIPTION
pg_put_line(3) sends a NULL-terminated string to the PostgreSQL backend server. This is needed in conjunction with PostgreSQL's COPY FROM
command.
COPY is a high-speed data loading interface supported by PostgreSQL. Data is passed in without being parsed, and in a single transaction.
An alternative to using raw pg_put_line(3) commands is to use pg_copy_from(3). This is a far simpler interface.
Note
The application must explicitly send the two characters "." on the last line to indicate to the backend that it has finished send-
ing its data, before issuing pg_end_copy(3).
Warning
Use of the pg_put_line(3) causes most large object operations, including pg_lo_read(3) and pg_lo_tell(3), to subsequently fail. You
can use pg_copy_from(3) and pg_copy_to(3) instead.
PARAMETERS
o $connection
- PostgreSQL database connection resource. When $connection is not present, the default connection is used. The default connection
is the last connection made by pg_connect(3) or pg_pconnect(3).
o $data
- A line of text to be sent directly to the PostgreSQL backend. A NULL terminator is added automatically.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
EXAMPLES
Example #1
pg_put_line(3) example
<?php
$conn = pg_pconnect("dbname=foo");
pg_query($conn, "create table bar (a int4, b char(16), d float8)");
pg_query($conn, "copy bar from stdin");
pg_put_line($conn, "3 hello world 4.5
");
pg_put_line($conn, "4 goodbye world 7.11
");
pg_put_line($conn, "\.
");
pg_end_copy($conn);
?>
SEE ALSO
pg_end_copy(3).
PHP Documentation Group PG_PUT_LINE(3)