pg_put_line
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pg_put_line — PostgreSQL 백엔드에 NULL 종료 문자열 보내기
설명
pg_put_line(PgSql\Connection $connection
= ?, string $data
): bool
pg_put_line()은 NULL로 끝나는 문자열을 PostgreSQL 백엔드 서버로 보냅니다. 이것은 PostgreSQL의 COPY FROM
명령과 함께 필요합니다.
COPY
는 PostgreSQL에서 지원하는 고속 데이터 로딩 인터페이스입니다. 데이터는 구문 분석 없이 단일 트랜잭션으로 전달됩니다.
원시 pg_put_line() 명령을 사용하는 것의 대안은 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()에 의해 만들어진 마지막 연결입니다. data
- PostgreSQL 백엔드로 직접 보낼 텍스트 줄입니다. NULL 종결자가 자동으로 추가됩니다.
반환 값
성공하면 true
를, 실패하면 false
를 반환합니다.
변경 로그
버전 | 설명 |
---|---|
8.1.0 | connection 매개변수는 이제 PgSql\Connection 인스턴스를 필요로 합니다. 이전에는 resource가 필요했습니다. |
Examples
예제 #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 백엔드와 동기화