(PHP 4 >= 4.0.1, PHP 5, PHP 7)
pg_trace — Включает трассировку подключения PostgreSQL
$pathname
[, string $mode
= "w"
[, resource $connection
]] ) : boolpg_trace() включает трассировку соединения с PostgreSQL сервером во внешний файл. Чтобы понимать содержимое таких файлов, необходимо хорошо разбираться во внутреннем устройстве клиент-серверного взаимодействия.
Для тех, кто не обладает подобными навыками, трассировка все же может оказаться полезной для поиска ошибок при отправке запросов на сервер. Например, можно выполнить команду grep '^To backend' trace.log и посмотреть, какие запросы реально отправлены на сервер. Дополнительную информацию можно почерпнуть из » документации PostgreSQL.
pathname
Полный путь и имя файла для записи журнала трассировки. Аналогично fopen().
mode
Необязательный аргумент. Режим доступа к файлу. Аналогично fopen().
connection
Ресурс подключения к базе данных PostgreSQL. Если параметр
connection
не задан, будет использовано
подключение по умолчанию - последнее соединение, открытое функцией
pg_connect() или pg_pconnect().
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Пример #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;
}
?>