(PHP 8 >= 8.4.0)
Pdo\Pgsql::setNoticeCallback — バックエンドが生成する通知および警告メッセージを処理するコールバックを設定する
バックエンドが生成する通知および警告メッセージを処理するためのコールバックを設定します。
これには、PostgreSQL 本体が出力するメッセージや、
ユーザー定義 SQL 関数で RAISE
されたメッセージも含まれます。
これらのメッセージを実際に受信できるかは、バックエンド側の設定
client_min_messages
に依存する点に注意してください。
callback
null
を渡すと、ハンドラはデフォルトの状態にリセットされます。
それ以外の場合、ハンドラは次のシグネチャを持つコールバック関数です:
message
値を返しません。
例1 Pdo\Pgsql::setNoticeCallback() の例
<?php
$pdo = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
$pdo->exec('CREATE TABLE parent(id int primary key)');
$pdo->exec('CREATE TABLE child(id int references parent)');
$pdo->setNoticeCallback(function ($message) {
echo $message;
});
$pdo->exec('TRUNCATE parent CASCADE');
?>
上の例の出力は、 たとえば以下のようになります。
NOTICE: truncate cascades to table "child"