pg_get_notify
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
pg_get_notify — Получение SQL NOTIFY сообщения
Описание
$connection
, int $result_type
= ?
) : array
pg_get_notify() получает уведомления, сгенерированные
командой SQL NOTIFY
. Для получения уведомлений используйте
команду SQL LISTEN
.
Список параметров
-
connection
-
Ресурс соединения с базой данных PostgreSQL.
-
result_type
-
Необязательный аргумент, указывающий, каким образом возвращаемый массив (array) будет проиндексирован.
result_type
- константа, и может принимать следующие значения:PGSQL_ASSOC
,PGSQL_NUM
илиPGSQL_BOTH
. При передачеPGSQL_ASSOC
функция pg_get_notify() вернет ассоциативный массив, при передачеPGSQL_NUM
- численно индексированный, в случаеPGSQL_BOTH
(по умолчанию) будут возвращены оба массива.
Возвращаемые значения
Массив (array), содержащий сообщение NOTIFY
и PID сервера БД.
С версии PHP 5.4.0 и если поддерживается сервером, массив также содержит версию
сервера и полезную нагрузку.
Если никаких уведомлений не ожидается, функция вернет false
.
Примеры
Пример #1 Сообщение PostgreSQL NOTIFY
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "Произошла ошибка.\n";
exit;
}
// Слушаем сообщение 'author_updated' из другого процесса
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
echo "Нет сообщений\n";
} else {
print_r($notify);
}
?>