PHP 8.4.1 Released!

pg_trace

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

pg_traceВключает трассировку подключения PostgreSQL

Описание

pg_trace(
    string $filename,
    string $mode = "w",
    ?PgSql\Connection $connection = null,
    int $trace_mode = 0
): bool

pg_trace() включает трассировку соединения с PostgreSQL сервером во внешний файл. Чтобы понимать содержимое таких файлов, необходимо хорошо разбираться во внутреннем устройстве клиент-серверного взаимодействия.

Для тех, кто не обладает подобными навыками, трассировка всё же может оказаться полезной для поиска ошибок при отправке запросов на сервер. Например, можно выполнить команду grep '^To backend' trace.log и посмотреть, какие запросы реально отправлены на сервер. Дополнительную информацию можно почерпнуть из » документации PostgreSQL.

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

filename

Полный путь и имя файла для записи журнала трассировки. Аналогично fopen().

mode

Необязательный аргумент. Режим доступа к файлу. Аналогично fopen().

connection

Экземпляр класса PgSql\Connection. Функция выберет соединение по умолчанию, если для параметра connection указали значение null. Соединение по умолчанию — последнее соединение, которое установила функция pg_connect() или pg_pconnect().

Внимание

Начиная с PHP 8.1.0 выбор функцией соединения по умолчанию устарел.

trace_mode

Необязательный режим трассировки со следующими константами: PGSQL_TRACE_SUPPRESS_TIMESTAMPS и PGSQL_TRACE_REGRESS_MODE.

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

Функция возвращает true в случае успешного выполнения или false, если возникла ошибка.

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

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

Примеры

Пример #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;
}
?>

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

  • fopen() - Открывает файл или URL-адрес
  • pg_untrace() - Отключает трассировку соединения с PostgreSQL

Добавить

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

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