Pdo\Pgsql::setNoticeCallback

(PHP 8 >= 8.4.0)

Pdo\Pgsql::setNoticeCallbackバックエンドが生成する通知および警告メッセージを処理するコールバックを設定する

説明

public Pdo\Pgsql::setNoticeCallback(?callable $callback): void

バックエンドが生成する通知および警告メッセージを処理するためのコールバックを設定します。 これには、PostgreSQL 本体が出力するメッセージや、 ユーザー定義 SQL 関数で RAISE されたメッセージも含まれます。 これらのメッセージを実際に受信できるかは、バックエンド側の設定 client_min_messages に依存する点に注意してください。

パラメータ

callback
null を渡すと、ハンドラはデフォルトの状態にリセットされます。

それ以外の場合、ハンドラは次のシグネチャを持つコールバック関数です:

handler(string $message): void
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"
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top