(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"