Php/docs/function.pg-last-notice

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

pg_last_notice

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

pg_last_notice PostgreSQL サーバーからの直近の通知メッセージを返す


説明

pg_last_notice ( resource $connection [, int $option = PGSQL_NOTICE_LAST ] ) : mixed

pg_last_notice() は、connection で指定した PostgreSQL サーバーからの直近の通知メッセージを返します。 たとえば、テーブルに SERIAL カラムを作成する場合などに PostgreSQL サーバーは通知メッセージを送信します。

pg_last_notice() でトランザクションに関連する通知 メッセージがあるかないかをチェックすることで、無意味なクエリの発行を 避けることが可能です。

php.inipgsql.ignore_notice に 1 を指定することで、通知メッセージの追跡をしないようにすることが可能です。

php.inipgsql.log_notice に 0 を指定することで、通知メッセージをログに記録しないようにすることが可能です。 pgsql.ignore_notice が 0 に設定されていない限り、 通知メッセージをログに記録することはできません。


パラメータ

connection
PostgreSQL データベースの接続リソース。
option
直近の通知を返す PGSQL_NOTICE_LAST、 すべての通知を返す PGSQL_NOTICE_ALL、 または通知をクリアする PGSQL_NOTICE_CLEAR のいずれか


返り値

PGSQL_NOTICE_LAST 使用時は、 指定された connection の直近の通知を含む stringPGSQL_NOTICE_ALL 使用時は arrayPGSQL_NOTICE_CLEAR 使用時は bool、 エラー時には false を返します。


例1 pg_last_notice() の例

<?php  $pgsql_conn = pg_connect("dbname=mark host=localhost");    $res = pg_query("CREATE TABLE test (id SERIAL)");    $notice = pg_last_notice($pgsql_conn);    echo $notice;?>

上の例の出力は以下となります。


CREATE TABLE will create implicit sequence "test_id_seq" for "serial" column "test.id"

変更履歴

バージョン 説明
7.1.0 option パラメータが追加されました。


参考

  • pg_query() - クエリを実行する
  • pg_last_error() - 特定の接続から直近のエラーメッセージ文字列を取得する