pg_get_notify

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

pg_get_notify — SQL NOTIFY 메시지를 가져옵니다.


설명

pg_get_notify(PgSql\Connection $connection, int $mode = PGSQL_ASSOC): array|false

pg_get_notify()는 NOTIFY SQL 명령에 의해 생성된 알림을 받습니다. 알림을 받으려면 LISTEN SQL 명령을 실행해야 합니다.


매개변수

connection
PgSql\Connection 인스턴스.
mode
반환된 배열이 인덱싱되는 방식을 제어하는 ​​선택적 매개변수입니다. mode는 상수이며 PGSQL_ASSOC, PGSQL_NUMPGSQL_BOTH 값을 사용할 수 있습니다. PGSQL_NUM을 사용하면 pg_get_notify()는 숫자 인덱스가 있는 배열을 반환하고 PGSQL_ASSOC를 사용하면 연관 인덱스만 반환하는 반면 기본값인 PGSQL_BOTH는 숫자 인덱스와 연관 인덱스를 모두 반환합니다.

반환 값

NOTIFY 메시지 이름과 백엔드 PID를 포함하는 배열입니다. 서버에서 지원하는 경우 어레이에는 서버 버전과 페이로드도 포함됩니다. 그렇지 않고 NOTIFY가 기다리고 있지 않으면 false가 반환됩니다.


변경 로그

버전 설명
8.1.0 connection 매개변수는 이제 PgSql\Connection 인스턴스를 필요로 합니다. 이전에는 resource가 필요했습니다.

Examples

예제 #1 PostgreSQL NOTIFY 메시지

                  
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occurred.\n";
  exit;
}

// Listen 'author_updated' message from other processes
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
  echo "No messages\n";
} else {
  print_r($notify);
}
?>
                  
                

기타

  • pg_get_pid() - 백엔드의 프로세스 ID를 가져옵니다.