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

기타