pg_put_line

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

pg_put_lineПередаёт на PostgreSQL сервер строку с завершающим нулём

Описание

pg_put_line(PgSql\Connection$connection = ?, string$data): bool

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

Экземпляр класса PgSql\Connection. Если параметр connection не указали, функция выберет соединение по умолчанию. Соединение по умолчанию — это последнее соединение, которое установила функция pg_connect() или pg_pconnect().

Внимание

Начиная с версии PHP 8.1.0 использование соединения по умолчанию устарело.

data

Текстовая строка для прямой пересылки на сервер. Завершающий NULL добавляется автоматически.

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

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Список изменений

ВерсияОписание
8.1.0 Параметр connection теперь ожидает экземпляр класса PgSql\Connection; раньше параметр ждал ресурс (resource).

Примеры

Пример #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);
?>

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

  • pg_end_copy() - Синхронизирует с бэкендом PostgreSQL
To Top