(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
pg_last_notice — Возвращает последнее уведомление от сервера PostgreSQL
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"