(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pg_get_notify — Получение SQL NOTIFY сообщения
pg_get_notify() получает уведомления, сгенерированные
командой SQL NOTIFY
. Для получения уведомлений используйте
команду SQL LISTEN
.
connection
Экземпляр класса PgSql\Connection.
mode
Необязательный параметр, который управляет индексированием массив (array), который возвращает функция.
Параметр mode
— константа и принимает следующие значения:
PGSQL_ASSOC
, PGSQL_NUM
и PGSQL_BOTH
.
С константой PGSQL_NUM
функция возвращает массив с числовыми индексами,
с константой PGSQL_ASSOC
функция вернёт только ассоциативные индексы,
а с PGSQL_BOTH
— вернёт как числовые, так и ассоциативные индексы.
Массив (array), содержащий сообщение NOTIFY
и PID сервера БД.
Если поддерживается сервером, массив также содержит версию
сервера и полезную нагрузку.
Если никаких уведомлений не ожидается, функция вернёт false
.
Версия | Описание |
---|---|
8.1.0 |
Параметр connection теперь ожидает экземпляр
класса PgSql\Connection; раньше параметр ожидал ресурс (resource).
|
Пример #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);
}
?>