php8.5
Home/ Manual/ pgsql / functions/ pg_put_line

pg_put_line

PHP function Edit on GitHub ✎

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

Send a NULL-terminated string to PostgreSQL backend

Description

pg_put_line([PgSql\Connection $connection], string $query): bool

pg_put_line() 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() commands is to use pg_copy_from(). 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 sending its data, before issuing pg_end_copy().

Warning

Use of the pg_put_line() causes most large object operations, including pg_lo_read() and pg_lo_tell(), to subsequently fail. You can use pg_copy_from() and pg_copy_to() instead.

Parameters

connection

Connection-with-unspecified-default

query

A line of text to be sent directly to the PostgreSQL backend. A NULL terminator is added automatically.

Return Values

Success

Changelog

VersionDescription

Examples

pg_put_line() example

php
<?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\thello world\t4.5\n");
  pg_put_line($conn, "4\tgoodbye world\t7.11\n");
  pg_put_line($conn, "\\.\n");
  pg_end_copy($conn);
?>

See Also

Source: reference/pgsql/functions/pg-put-line.xml · from the official PHP manual (php/doc-en)