File: pg-trace.xml

package info (click to toggle)
php-doc 20100521-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 59,992 kB
  • ctags: 4,085
  • sloc: xml: 796,833; php: 21,338; cpp: 500; sh: 117; makefile: 58; awk: 28
file content (132 lines) | stat: -rw-r--r-- 3,864 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 297028 $ -->
<!-- splitted from ./en/functions/pgsql.xml, last change in rev 1.7 -->
<refentry xml:id="function.pg-trace" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 <refnamediv>
  <refname>pg_trace</refname>
  <refpurpose>Enable tracing a PostgreSQL connection</refpurpose>
 </refnamediv>

 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>bool</type><methodname>pg_trace</methodname>
   <methodparam><type>string</type><parameter>pathname</parameter></methodparam>
   <methodparam choice="opt"><type>string</type><parameter>mode</parameter><initializer>"w"</initializer></methodparam>
   <methodparam choice="opt"><type>resource</type><parameter>connection</parameter></methodparam>
  </methodsynopsis>
  <para>
   <function>pg_trace</function> enables tracing of the PostgreSQL
   frontend/backend communication to a file. To fully understand the results,
   one needs to be familiar with the internals of PostgreSQL
   communication protocol.
  </para>
  <para>For those who are not, it can still be
   useful for tracing errors in queries sent to the server, you
   could do for example <command>grep '^To backend'
   trace.log</command> and see what queries actually were sent to the
   PostgreSQL server. For more information, refer to the
   <link xlink:href="&url.pgsql.manual;">PostgreSQL Documentation</link>.
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>pathname</parameter></term>
     <listitem>
      <para>
       The full path and file name of the file in which to write the
       trace log.  Same as in <function>fopen</function>.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>pathname</parameter></term>
     <listitem>
      <para>
       An optional file access mode, same as for <function>fopen</function>.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>connection</parameter></term>
     <listitem>
      <para>
       PostgreSQL database connection resource.  When 
       <parameter>connection</parameter> is not present, the default connection 
       is used. The default connection is the last connection made by 
       <function>pg_connect</function> or <function>pg_pconnect</function>.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   &return.success;
  </para>
 </refsect1>
 
 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title><function>pg_trace</function> example</title>
    <programlisting role="php">
<![CDATA[
<?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);
   // Now /tmp/trace.log will contain backend communication
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>
]]>
    </programlisting>
   </example>
  </para>
 </refsect1>
 
 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>fopen</function></member>
    <member><function>pg_untrace</function></member>
   </simplelist>
  </para>
 </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->