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.ini
で pgsql.ignore_notice
に 1 を指定することで、通知メッセージの追跡をしないようにすることが可能です。
php.ini
で pgsql.log_notice
に 0 を指定することで、通知メッセージをログに記録しないようにすることが可能です。
pgsql.ignore_notice
が 0 に設定されていない限り、
通知メッセージをログに記録することはできません。
パラメータ
connection
- PostgreSQL データベースの接続リソース。
option
- 直近の通知を返す
PGSQL_NOTICE_LAST
、 すべての通知を返すPGSQL_NOTICE_ALL
、 または通知をクリアするPGSQL_NOTICE_CLEAR
のいずれか
返り値
PGSQL_NOTICE_LAST
使用時は、
指定された connection
の直近の通知を含む string、
PGSQL_NOTICE_ALL
使用時は array、
PGSQL_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 パラメータが追加されました。
|