pg_trace

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

pg_trace启用跟踪 PostgreSQL 连接

描述

pg_trace(
    字符串 $filename,
    字符串 $mode = "w",
    ?PgSql\Connection $connection = null,
    整数 $trace_mode = 0
): 布尔值

pg_trace() 启用将 PostgreSQL 前端/后端通信跟踪到文件的跟踪。为了完全理解结果,需要熟悉 PostgreSQL 通信协议的内部机制。

对于那些不熟悉的人来说,它仍然可以用于跟踪发送到服务器的查询中的错误,例如,你可以执行 grep '^To backend' trace.log 并查看实际发送到 PostgreSQL 服务器的查询。有关更多信息,请参阅 » PostgreSQL 文档

参数

filename

写入跟踪日志的完整路径和文件名。与 fopen() 中相同。

mode

可选的文件访问模式,与 fopen() 相同。

connection

一个 PgSql\Connection 实例。当 connectionnull 时,将使用默认连接。默认连接是 pg_connect()pg_pconnect() 最后建立的连接。

警告

从 PHP 8.1.0 开始,使用默认连接已弃用。

trace_mode

可选的跟踪模式,包含以下常量 PGSQL_TRACE_SUPPRESS_TIMESTAMPSPGSQL_TRACE_REGRESS_MODE

返回值

成功时返回 true,失败时返回 false

变更日志

版本 描述
8.3.0 添加了 trace_mode
8.1.0 connection 参数现在需要一个 PgSql\Connection 实例;以前需要一个 资源
8.0.0 connection 现在可以为空。

示例

示例 #1 pg_trace() 示例

<?php
$pgsql_conn
= pg_connect("dbname=mark host=localhost");

if (
$pgsql_conn) {
pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
pg_query("SELECT 1");
pg_untrace($pgsql_conn);
// 现在 /tmp/trace.log 将包含后端通信
} else {
print
pg_last_error($pgsql_conn);
exit;
}
?>

参见

添加注释

用户贡献的注释

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