pg_get_notify

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_get_notifyПолучение SQL NOTIFY сообщения

Описание

pg_get_notify ( resource $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);
}
?>

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

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