pg_trace

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

pg_traceAtiva o rastreamento de uma conexão PostgreSQL

Descrição

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

pg_trace() permite o rastreamento da comunicação frontend/backend do PostgreSQL para um arquivo. Para compreender totalmente os resultados, é necessário estar familiarizado com os componentes internos do protocolo de comunicação PostgreSQL.

Para quem não é, ainda pode ser útil para rastrear erros em consultas enviadas ao servidor, você poderia fazer por exemplo grep '^To backend' trace.log e ver quais consultas realmente foram enviados para o servidor PostgreSQL. Para obter mais informações, consulte a » Documentação do PostgreSQL.

Parâmetros

filename

O caminho completo e o nome do arquivo no qual gravar o log de rastreamento. O mesmo que em fopen().

mode

Um modo opcional de acesso a arquivos, igual ao fopen().

connection

Uma instância de PgSql\Connection. Quando o parâmetro connection for null, a conexão padrão será usada. A conexão padrão é a última conexão feita por pg_connect() ou pg_pconnect().

Aviso

A partir do PHP 8.1.0, usar a conexão padrão tornou-se defasado.

trace_mode

Um modo de rastreamento opcional com as seguintes constantes PGSQL_TRACE_SUPPRESS_TIMESTAMPS e PGSQL_TRACE_REGRESS_MODE

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.3.0 trace_mode foi adicionado.
8.1.0 O parâmetro connection agora espera uma instância de PgSql\Connection; anteriormente, um resource era esperado.
8.0.0 connection agora é anulável.

Exemplos

Exemplo #1 Exemplo de 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);
// Agora /tmp/trace.log conterá comunicação de backend
} else {
print
pg_last_error($pgsql_conn);
exit;
}
?>

Veja Também

  • fopen() - Abre um arquivo ou URL
  • pg_untrace() - Desabilita o rastreamento de uma conexão PostgreSQL

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top