(PHP 4 >= 4.3.0, PHP 5, PHP 7)
pg_get_notify — Получение SQL NOTIFY сообщения
$connection
[, int $result_type
] ) : arraypg_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);
}
?>