PHP Conference Nagoya 2025

pg_last_notice

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

pg_last_notice Возвращает последнее уведомление от сервера PostgreSQL

Описание

pg_last_notice(PgSql\Connection $connection, int $mode = PGSQL_NOTICE_LAST): array|string|bool

pg_last_notice() возвращает последнее уведомление, сгенерированное сервером PostgreSQL на заданном соединении connection. В некоторых случаях сервер посылает уведомления, например при создании в таблице колонки типа SERIAL.

Благодаря pg_last_notice() не требуется делать лишних запросов, чтобы узнать посылала ваша транзакция уведомления или нет.

Можно отключить отслеживание уведомлений установкой в значение 1 параметра pgsql.ignore_notice в файле php.ini.

Можно отключить журналирование уведомлений установкой в значение 0 параметра pgsql.log_notice в файле php.ini. Пока этот параметр установлен в значение 0, уведомления невозможно записать в журнал выполнения.

Список параметров

connection

Экземпляр класса PgSql\Connection.

mode

Одна из констант PGSQL_NOTICE_LAST (для возврата последнего уведомления), PGSQL_NOTICE_ALL (для возврата всех уведомлений) или PGSQL_NOTICE_CLEAR (для очистки уведомлений).

Возвращаемые значения

Строка, содержащая последнее уведомление на заданном соединении, если задана опция PGSQL_NOTICE_LAST, массив (array), если опция PGSQL_NOTICE_ALL и значение типа bool в случае опции PGSQL_NOTICE_CLEAR.

Список изменений

Версия Описание
8.1.0 Параметр connection теперь ожидает экземпляр класса PgSql\Connection; раньше параметр ожидал ресурс (resource).
7.1.0 Добавлен параметр mode.

Примеры

Пример #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"

Смотрите также

  • pg_query() - Выполняет запрос
  • pg_last_error() - Получает сообщение о последней произошедшей ошибке на соединении с базой данных

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top