pg_put_line

(PHP 4 >= 4.0.3, PHP 5)

pg_put_line -- Send a NULL-terminated string to PostgreSQL backend

Description

bool pg_put_line ( string data )

bool pg_put_line ( resource connection, string data )

pg_put_line() sends a NULL-terminated string to the PostgreSQL backend server. This is useful for example for very high-speed inserting of data into a table, initiated by starting a PostgreSQL copy-operation. That final NULL-character is added automatically. Returns TRUE on success or FALSE on failure.

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.

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.

Examples

Example 1. High-speed insertion of data into a table

<?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

pg_end_copy()