PHP Conference Japan 2024

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() 返回指定 connection 上来自 PostgreSQL 服务器的最后一条通知消息。PostgreSQL 服务器在多种情况下会发送通知消息,例如在表中创建 SERIAL 列时。

使用 pg_last_notice(),可以通过检查通知是否与你的事务相关来避免发出无用的查询。

可以通过在 php.ini 中将 pgsql.ignore_notice 设置为 1 来将通知消息跟踪设置为可选。

可以通过在 php.ini 中将 pgsql.log_notice 设置为 0 来将通知消息日志记录设置为可选。除非 pgsql.ignore_notice 设置为 0,否则无法记录通知消息。

参数

connection

一个 PgSql\Connection 实例。

mode

PGSQL_NOTICE_LAST(返回最后一条通知),PGSQL_NOTICE_ALL(返回所有通知)或 PGSQL_NOTICE_CLEAR(清除通知)之一。

返回值

使用 PGSQL_NOTICE_LAST 时返回包含给定 connection 上最后一条通知的 string,使用 PGSQL_NOTICE_ALL 时返回 array,使用 PGSQL_NOTICE_CLEAR 时返回 bool

更新日志

版本 说明
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"

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top