pg_trace

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

pg_trace — PostgreSQL 연결 추적 활성화


설명

pg_trace(string $filename, string $mode = "w", ?PgSql\Connection $connection = null): bool

pg_trace()는 파일에 대한 PostgreSQL 프론트엔드/백엔드 통신 추적을 활성화합니다. 결과를 완전히 이해하려면 PostgreSQL 통신 프로토콜의 내부에 익숙해야 합니다.

그렇지 않은 경우에도 서버로 전송된 쿼리의 오류를 추적하는 데 여전히 유용할 수 있습니다. 예를 들어 grep '^To backend' trace.log를 수행하여 실제로 PostgreSQL 서버로 전송된 쿼리를 확인할 수 있습니다. 자세한 내용은 » PostgreSQL 설명서를 참조하세요.


매개변수

filename
추적 로그를 작성할 파일의 전체 경로 및 파일 이름입니다. fopen()과 동일합니다.
mode
fopen()과 동일한 선택적 파일 액세스 모드.
connection
PgSql\Connection 인스턴스입니다. connectionnull이면 기본 연결이 사용됩니다. 기본 연결은 pg_connect() 또는 pg_pconnect()에 의해 만들어진 마지막 연결입니다.

반환 값

성공하면 true를, 실패하면 false를 반환합니다.


변경 로그

버전 설명
8.1.0 result 매개변수는 이제 PgSql\Result 인스턴스를 예상합니다. 이전에는 resource가 필요했습니다.
8.0.0 connection은 이제 nullable입니다.

Examples

예제 #1 pg_trace() 예제

                  
<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Now /tmp/trace.log will contain backend communication
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>
                  
                

기타

  • fopen() - 파일 또는 URL을 엽니다.
  • pg_untrace() - PostgreSQL 연결 추적 비활성화