(PHP 8 >= 8.4.0)
Pdo\Pgsql::setNoticeCallback — Устанавливает callback-функцию для обработки уведомлений и предупреждений бэкенда
Метод устанавливает callback-функцию для обработки сообщений с уведомлениями и предупреждениями, которые генерирует бэкенд.
К этим сообщениям относятся уведомления и предупреждения, которые выдаёт сама СУБД PostgreSQL,
и сообщения, которые выдают пользовательские SQL-функции через команду RAISE
.
Обратите внимание, что фактическое получение сообщений зависит
от параметра client_min_messages
в настройках бэкенда.
callback
null
обработчик сбрасывается в состояние по умолчанию.
В остальных случаях обработчиком будет callback-функция со следующей сигнатурой:
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"