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() получает уведомления, сгенерированные командой 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);
}
?>

Смотрите также

  • pg_get_pid() - Получает ID процесса сервера БД