(PHP 4 >= 4.0.3, PHP 5, PHP 7)
pg_put_line — Передает на PostgreSQL сервер строку с завершающим нулем
$connection
], string $data
)pg_put_line() передает на PostgreSQL сервер строку с завершающим нулем. Завершение строки значением NULL необходимо при ее объединении с командой PostgreSQL COPY FROM.
COPY является высокоскоростным интерфейсом передачи данных, поддерживаемым PostgreSQL. Данные передаются одной транзакцией и не разбираются парсером.
В качестве альтернативы можно использовать функцию pg_copy_from(). Она значительно проще в использовании.
Замечание:
Перед запуском функции pg_end_copy() приложение должно сообщить о серверу о завершении передачи данных, добавив в конец последней строки символы "\.".
Использование pg_put_line() может привести к отказу операций с большими объектами, включающих функции pg_lo_read() и pg_lo_tell(). Для этих целей используйте функции pg_copy_from() и pg_copy_to().
connection
Ресурс подключения к базе данных PostgreSQL. Если параметр
connection
не задан, будет использовано
подключение по умолчанию - последнее соединение, открытое функцией
pg_connect() или pg_pconnect().
data
Текстовая строка для прямой пересылки на сервер. Завершающий NULL добавляется автоматически.
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Пример #1 Пример использования pg_put_line()
<?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);
?>