pg_last_notice
PostgreSQL サーバーからの直近の通知メッセージを返す
説明
arraystringbool pg_last_notice(PgSql\Connection $connection
, int $mode
= PGSQL_NOTICE_LAST
)
pg_last_notice でトランザクションに関連する通知
メッセージがあるかないかをチェックすることで、無意味なクエリの発行を
避けることが可能です。
php.ini で pgsql.ignore_notice
に 1 を指定することで、通知メッセージの追跡をしないようにすることが可能です。
php.ini で pgsql.log_notice
に 0 を指定することで、通知メッセージをログに記録しないようにすることが可能です。
pgsql.ignore_notice
が 0 に設定されていない限り、
通知メッセージをログに記録することはできません。
パラメータ
-
connection
-
PgSql\Connection クラスのインスタンス。
-
mode
-
直近の通知を返す PGSQL_NOTICE_LAST
、
すべての通知を返す PGSQL_NOTICE_ALL
、
または通知をクリアする PGSQL_NOTICE_CLEAR
のいずれか
戻り値
PGSQL_NOTICE_LAST
使用時は、
指定された connection
の直近の通知を含む string、
PGSQL_NOTICE_ALL
使用時は array、
PGSQL_NOTICE_CLEAR
使用時は bool を返します。
例
例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"