Php/docs/function.pg-get-notify

提供:Dev Guides
< Php
移動先:案内検索

pg_get_notify

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

pg_get_notifySQL NOTIFY メッセージを取得する


説明

pg_get_notify ( resource $connection [, int $result_type ] ) : array

pg_get_notify()は、NOTIFY SQL コマンドにより送信された通知メッセージを取得します。 通知メッセージを取得するには、LISTEN SQL コマンドを発行する必要があります。


パラメータ

connection
PostgreSQL データベースの接続リソース。
result_type
result_type は、返り値の形式を制御する オプションのパラメータです。result_type は定数であり、次の値のどれかとすることが可能です。 PGSQL_ASSOCPGSQL_NUM および PGSQL_BOTHPGSQL_NUM を使用すると、pg_get_notify() は数値添字の配列を返します。また、PGSQL_ASSOC を使用すると連想配列形式で返します。PGSQL_BOTH がデフォルト設定で、これは数値添字の配列と連想配列の両方を返します。


返り値

NOTIFY メッセージ名とバックエンドの PID を含む 配列を返します。 PHP 5.4.0 以降、サーバでサポートされている場合は、 配列にはサーバーのバージョンおよびペイロードも含まれます。 もし待ち受ける NOTIFY が存在しない場合は、 false を返します。


例1 PostgreSQL NOTIFY メッセージ

<?php $conn = pg_pconnect("dbname=publisher");if (!$conn) {  echo "An error occurred.\n";  exit;}// 他のプロセスからの 'author_updated' メッセージを監視するpg_query($conn, 'LISTEN author_updated;');$notify = pg_get_notify($conn);if (!$notify) {  echo "No messages\n";} else {  print_r($notify);}?>

参考

  • pg_get_pid() - バックエンドのプロセス ID を得る