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_NUM
및PGSQL_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를 가져옵니다.