cortesi         Thu Mar 21 07:50:28 2002 EDT

  Modified files:              
    /phpdoc/it/functions        pgsql.xml 
  Log:
  re-adding
  
Index: phpdoc/it/functions/pgsql.xml
diff -u /dev/null phpdoc/it/functions/pgsql.xml:1.16
--- /dev/null   Thu Mar 21 07:50:28 2002
+++ phpdoc/it/functions/pgsql.xml       Thu Mar 21 07:50:27 2002
@@ -0,0 +1,2243 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- EN-Revision: 1.70 Maintainer: cortesi Status: ready -->
+<!-- CREDITS: fabio -->
+ <reference id="ref.pgsql">
+  <title>Funzioni PostgreSQL</title>
+  <titleabbrev>PostgreSQL</titleabbrev>
+
+  <partintro>
+   <warning>
+    <para>
+     L'utilizzo del modulo PostgreSQL con PHP 4.0.6 non è raccomandato a causa
+     di un bug nella gestione dei messaggi.
+    </para>
+   </warning>
+   <warning>
+    <para>
+     I nomi delle funzioni relative a PostgreSQL verranno cambiate a partire dalla 
+versione 4.2.0 per
+     conformarsi agli standard di sviluppo attuali. La maggiorparte dei nuovi nomi 
+avrà
+     underscore aggiuntivi, per esempio pg_lo_open(). Alcune funzioni verranno 
+rinominate
+     per dare consistenza. Per esempio pg_exec() diventerà
+     pg_query(). I vecchi nomi potranno essere usati nella versione 4.2.0 e in alcune 
+versioni
+     successive alla 4.2.0, ma potranno essere cancellate in futuro. Nella versione 
+presente nel CVS 
+     si trovano già i nuovi nomi delle funzioni.
+    </para>
+    <example>
+     <title>Nomi delle funzioni cambiati</title>
+     <programlisting role="php">
+<![CDATA[
+VECCHIO NOME       NUOVO NOME
+pg_exec            pg_query
+getlastoid         pg_last_oid
+pg_cmdtuples       pg_affected_rows
+pg_errormessage    pg_last_error
+pg_numrows         pg_num_rows
+pg_numfields       pg_num_fields
+pg_fieldname       pg_field_name
+pg_fieldsize       pg_field_size
+pg_fieldtype       pg_field_type
+pg_fieldnum        pg_field_num
+pg_fieldprtlen     pg_field_prtlen
+pg_fieldisnull     pg_field_is_null
+pg_freeresult      pg_free_result
+pg_result          pg_fetch_result
+pg_loreadall       pg_lo_read_all
+pg_locreate        pg_lo_create
+pg_lounlink        pg_lo_unlink
+pg_loopen          pg_lo_open
+pg_loclose         pg_lo_close
+pg_loread          pg_lo_read
+pg_lowrite         pg_lo_write
+pg_loimport        pg_lo_import
+pg_loexport        pg_lo_export
+]]>
+     </programlisting>
+    </example>
+    <para>
+     Obsolete pg_connect()/pg_pconnect() syntax will be depreciated to
+     support async connect feature in the future. Please use
+     connection string for pg_connect() and pg_pconnect().
+    </para>
+   </warning>
+   <para>
+    Postgres, originariamente sviluppato nel UC Berkeley Computer Science
+    Department, è stato uno dei pionieri dei concetti object-relational
+    che ora stanno diventando disponibili in alcuni database commerciali.
+    Fornisce supporto al linguaggio SQL92/SQL3, all'integrità delle transazioni,
+    e all'estensibilità dei tipi di dato. PostgreSQL è un discendente Open Source 
+    di questo codice Berkeley originale.
+   </para>
+   <para>
+    Il database PostgreSQL è un prodotto Open Source ed è disponibile liberamente.
+    Per usare il supporto per PostgreSQL, è necessario PostgreSQL 6.5 o
+    successivo. PostgreSQL 7.0 o successivo è necessario per poter abilitare tutte le 
+feature del modulo
+    PostgreSQL. PostgreSQL supporta molte tabelle caratteri, incluse le tabelle
+    carattere multibyte. Versioni aggiornate e ulteriori
+    informazioni riguardo PostgreSQL sono disponibili qui: <ulink
+    url="&url.pgsql;">www.postgresql.org</ulink>.
+   </para>
+   <para>
+    Per abilitare il supporto per PostgreSQL,
+    è necessario usare &quot;--with-pgsql[=DIR]&quot; quando si compila
+    PHP. Se è disponibile uno shared object module, il modulo PostgreSQL può
+    essere caricato usando la direttiva <link linkend="ini.extension">extension</link>
+    nel <filename>php.ini</filename> la funzione <function>dl</function>. 
+    Le direttive ini supportate sono descritte nel file 
+<filename>php.ini-dist</filename>
+    che si trova nella distribuzione assieme al codice sorgente.
+   </para>
+   <para>
+    Non tutte le funzioni sono supportate su tutte le architetture. Dipende dalla 
+versione
+    di libpq (L'interfaccia Client C per PostgreSQL) e da come libpq è 
+    compilato. Se c'è una funzione mancante, libpq non supporta
+    la feature richiesta per quella funzione. 
+   </para>
+   <para>
+    &Egrave; importante usare versioni di libpq più recenti rispetto al Server
+    PostgreSQL al quale ci si vuole collegare. Se si usa una versione di libpq più 
+vecchia rispetto 
+    al Server PostgreSQL al quale ci si vuole collegare, si andrà probabilmente 
+incontro a problemi.
+   </para>
+   <para>
+    Fin dalla versione 6.3 (03/02/1998) PostgreSQL usa gli unix domain socket 
+    di default. La porta TCP, di default, NON verrà aperta. La tabella 
+    sottostante descrive queste nuove possibilità di connessione. Questo 
+    socket può essere trovato in <filename>/tmp/.s.PGSQL.5432</filename>.
+    Questa opzione può venire abilitata con la flag '-i' a
+    <command>postmaster</command> e il suo significato è: "ascolta i 
+    socket TCP/IP così come gli Unix domain socket".
+    <table>
+     <title>Postmaster e PHP</title>
+     <tgroup cols="3">
+      <thead>
+       <row>
+       <entry>Postmaster</entry>
+       <entry>PHP</entry>
+       <entry>Status</entry>
+       </row>
+      </thead>
+      <tbody>
+       <row>
+       <entry>postmaster &amp;</entry>
+       <entry>pg_connect("dbname=NomeMioDatabase");</entry>
+       <entry>OK</entry>
+       </row>
+       <row>
+       <entry>postmaster -i &amp;</entry>
+       <entry>pg_connect("dbname=NomeMioDatabase");</entry>
+       <entry>OK</entry>
+       </row>
+       <row>
+       <entry>postmaster &amp;</entry>
+       <entry>pg_connect("host=localhost dbname=NomeMioDatabase");</entry>
+       <entry>
+        Unable to connect to PostgreSQL server: connectDB() failed:
+        Is the postmaster running and accepting TCP/IP (with -i)
+        connection at 'localhost' on port '5432'? in
+        /percorso/al/file.php on line 20.
+       </entry>
+       </row>
+       <row>
+       <entry>postmaster -i &amp;</entry>
+       <entry>pg_connect("host=localhost dbname=NomeMioDatabase");</entry>
+       <entry>OK</entry>
+       </row>
+      </tbody>
+     </tgroup>
+    </table>
+   </para>
+   <para>
+    Si può stabilire una connessione al server PostgreSQL usando le 
+    seguenti coppie di valori impostati nella stringa di comando: <command>$conn =
+    pg_connect("host=IlMioHost port=LaMiaPort tty=myTTY options=LeMieOpzioni
+    dbname=IlMioDB user=IlMioUtente password=LaMiaPassword ");
+    </command>
+   </para>
+   <para>
+    L'uso della sintassi in uso precedentemente:
+    <command>
+     $conn = pg_connect ("host", "port", "options", "tty", "dbname")
+    </command>
+    è deprecato.
+   </para>
+   <para>
+    Le variabili d'ambiente influiscono sul comportamento del server/client 
+    PostgreSQL. Per esempio, il modulo PostgreSQL userà la variabile d'ambiente
+    PGHOST quando l'hostname viene omesso nella stringa di
+    connessione. Le variabili d'ambiente supportate differiscono da versione
+    a versione. Fare riferimento al Manuale di Programmazione di PostgreSQL (libpq -
+    Environment Variables) per ulteriori dettagli.
+   </para>
+   <para>
+    A partire da PostgreSQL 7.1.0, il tipo di dato text ha 1GB come dimensione
+    massima. Nelle versioni più vecchie di PostgreSQL il tipo di dato text è limitato 
+dalla dimensione
+    del block. (Default 8KB. Massimo 32KB, specificato al momento della compilazione)
+   </para>
+   <para>
+    Per usare l'interfaccia large object (lo), è necessario includerla entro
+    un blocco di una transazione. Un blocco di transazione inizia con un
+    comando SQL <command>begin</command> e se la 
+    transazione è stata valida, termina
+    con <command>commit</command> o <command>end</command>. Se la
+    transazione fallisce, essa deve venire chiusa con
+    <command>rollback</command> o <command>abort</command>.
+    <example>
+     <title>Utilizzare Large Objects</title>
+     <programlisting role="php">
+<![CDATA[
+<?php
+    $database = pg_connect ("dbname=jacarta");
+    pg_exec ($database, "begin");
+    $oid = pg_locreate ($database);
+    echo ("$oid\n");
+    $handle = pg_loopen ($database, $oid, "w");
+    echo ("$handle\n");
+    pg_lowrite ($handle, "large object data");
+    pg_loclose ($handle);
+    pg_exec ($database, "commit");
+?>
+]]>
+     </programlisting>
+    </example>
+    Non chiudere la risorsa di connessione prima di aver chiuso la risorsa
+    large object.
+   </para>
+  </partintro>
+
+
+
+  <refentry id="function.pg-close">
+   <refnamediv>
+    <refname>pg_close</refname>
+    <refpurpose>Chiude una connessione PostgreSQL</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_close</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_close</function> closes down the non-persistent
+     connection to a PostgreSQL database associated with the given
+     <parameter>connection</parameter> resource. It returns &true;, if
+     <parameter>connection</parameter> is a valid connection resource,
+     otherwise it return &false;.
+    </para>
+    <note>
+     <para>
+      <function>pg_close</function> is not usually necessary, as
+      non-persistent open links are automatically closed at the end of
+      the script's execution. <function>pg_close</function> will not
+      close persistent links generated by
+      <function>pg_pconnect</function>.
+     </para>
+    </note>
+    <para>
+     If there is open large object resource on the connection, do not
+     close the connection before closing all large object resources.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-cmdtuples">
+   <refnamediv>
+    <refname>pg_cmdtuples</refname>
+    <refpurpose>Returns number of affected records(tuples)</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_cmdtuples</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_cmdtuples</function> returns the number of tuples
+     (instances/records/rows) affected by INSERT, UPDATE, and DELETE
+     queries executed by <function>pg_exec</function>. If no tuple is
+     affected by this function, it will return 0.
+     <example>
+      <title><function>pg_cmdtuples</function></title>
+      <programlisting role="php">
+<![CDATA[
+<?php
+$result = pg_exec ($conn, "INSERT INTO publisher VALUES ('Author')");
+$cmdtuples = pg_cmdtuples ($result);
+echo $cmdtuples . " tuples are affected.";
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+    <para>
+     See also <function>pg_exec</function> and
+     <function>pg_numrows</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-connect">
+   <refnamediv>
+    <refname>pg_connect</refname>
+    <refpurpose>Open a PostgreSQL connection</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>resource</type><methodname>pg_connect</methodname>
+      
+<methodparam><type>string</type><parameter>connection_string</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_connect</function> returns a connection resource
+     that is needed by other PostgreSQL functions.
+    </para>
+    <para>
+     <function>pg_connect</function> opens a connection to a
+     PostgreSQL database specified by
+     <parameter>connection_string</parameter>. It returns a connection
+     resource on success. It returns &false;, if the connection could
+     not be made. <parameter>connection_string</parameter> should be
+     a quoted string.
+     <example>
+     <title>Using pg_connect</title>
+     <programlisting role="php">
+<![CDATA[
+<?php
+$dbconn = pg_connect ("dbname=mary");
+//connect to a database named "mary"
+$dbconn2 = pg_connect ("host=localhost port=5432 dbname=mary");
+// connect to a database named "mary" on "localhost" at port "5432"
+$dbconn3 = pg_connect ("host=sheep port=5432 dbname=mary user=lamb password=foo");
+//connect to a database named "mary" on the host "sheep" with a username and password
+$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
+$dbconn4 = pg_connect ($conn_string);
+//connect to a database named "test" on the host "sheep" with a username and password
+?>
+]]>
+     </programlisting>
+     </example>
+     The arguments available for
+     <parameter>connection_string</parameter> includes
+     <parameter>host</parameter>, <parameter>port</parameter>,
+     <parameter>tty</parameter>, <parameter>options</parameter>,
+     <parameter>dbname</parameter>, <parameter>user</parameter>, and
+     <parameter>password</parameter>.
+    </para>
+    <para>
+     If a second call is made to <function>pg_connect</function> with
+     the same <parameter>connection_string</parameter> arguments, no
+     new connection will be established, but instead, the connection
+     resource of the already opened connection will be returned. You
+     can have multiple connections to the same database if you use
+     different connection string.
+    </para>
+    <para>
+     Syntax supports multiple parameters:
+     <command>$conn = pg_connect ("host", "port", "options", "tty", "dbname")
+     </command>
+     has been deprecated.
+    </para>
+    <para>
+     See also <function>pg_pconnect</function>,
+     <function>pg_close</function>, <function>pg_host</function>,
+     <function>pg_port</function>, <function>pg_tty</function>,
+     <function>pg_options</function> and <function>pg_dbname</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-dbname">
+   <refnamediv>
+    <refname>pg_dbname</refname>
+    <refpurpose>Get the database name</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>string</type><methodname>pg_dbname</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_dbname</function> returns the name of the database
+     that the given PostgreSQL <parameter>connection</parameter>
+     resource. It returns &false;, if <parameter>connection</parameter>
+     is not a valid PostgreSQL connection resource.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-end-copy">
+   <refnamediv>
+    <refname>pg_end_copy</refname>
+    <refpurpose>Sync with PostgreSQL backend</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_end_copy</methodname>
+      <methodparam 
+choice="opt"><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_end_copy</function> syncs PostgreSQL frontend
+     (usually a web server process) with the PostgreSQL server after
+     doing a copy operation performed by
+     <function>pg_put_line</function>. <function>pg_end_copy</function>
+     must be issued, otherwise the PostgreSQL server may get "out of
+     sync" error with the frontend. It returns &true; for success,
+     otherwise it returns &false;.
+    </para>
+    <para>
+     For further details and an example, see also
+     <function>pg_put_line</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-errormessage">
+   <refnamediv>
+    <refname>pg_errormessage</refname>
+    <refpurpose>Get the last error message string of a connection</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>string</type><methodname>pg_errormessage</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_errormessage</function> returns a string containing
+     the last error message for given
+     <parameter>connection</parameter>. It returns &false; on failure.
+    </para>
+    <para>
+     <function>pg_errormessage</function> returns the last error
+     message for given <parameter>connection</parameter> and error
+     message may be overwritten if other libpq functions are called on
+     the connection. PostgreSQL functions calls libpq functions
+     internally. Therefore, details about the error may not be
+     retrieved using the <function>pg_errormessage</function>
+     function.  pg_result_error_message() will be added from 4.2.0 to
+     get last error for the result resource.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.pg-exec">
+   <refnamediv>
+    <refname>pg_exec</refname>
+    <refpurpose>Execute a query</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>resource</type><methodname>pg_exec</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+      <methodparam><type>string</type><parameter>query</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_exec</function> returns a query result resource if
+     query could be executed.  It returns &false; on failure or if
+     connection is not a valid connection. Details about the error can
+     be retrieved using the <function>pg_errormessage</function>
+     function if connection is valid.
+     <function>pg_errormessage</function> sends an SQL statement to
+     the PostgreSQL database specified by the
+     <parameter>connection</parameter> resource. The
+     <parameter>connection</parameter> must be a valid connection that
+     was returned by <function>pg_connect</function> or
+     <function>pg_pconnect</function>. The return value of this
+     function is an query result resource to be used to access the
+     results from other PostgreSQL functions such as
+     <function>pg_fetch_array</function>.
+     <note>
+      <simpara>
+       <parameter>connection</parameter> is a optional parameter for
+       <function>pg_exec</function>. If
+       <parameter>connection</parameter> is not used, default
+       connection is used. Default connection is the last connection
+       made by <function>pg_connect</function> or
+       <function>pg_pconnect</function>.
+      </simpara>
+      <simpara>
+       Although <parameter>connection</parameter> can be omitted, it
+       is not recommended, since it could be a cause of hard to find
+       bug in script.
+      </simpara>
+     </note>
+    </para>
+    <para>
+     See also <function>pg_connect</function>,
+     <function>pg_pconnect</function>,
+     <function>pg_fetch_array</function>,
+     <function>pg_fetch_object</function>,
+     <function>pg_numrows</function>,
+     and <function>pg_cmdtuples</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-fetch-array">
+   <refnamediv>
+    <refname>pg_fetch_array</refname>
+    <refpurpose>Fetch a row as an array</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>array</type><methodname>pg_fetch_array</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+      <methodparam><type>int</type><parameter>row</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>int</type><parameter>result_type</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_fetch_array</function> returns an array that
+     corresponds to the fetched row (tuples/records). It returns
+     &false;, if there are no more rows.
+    </para>
+    <para>
+     <function>pg_fetch_array</function> is an extended version of
+     <function>pg_fetch_row</function>.  In addition to storing the
+     data in the numeric indices (field index) to the result array, it
+     also stores the data in associative indices (field name) by
+     default.
+    </para>
+    <para>
+     <parameter>row</parameter> is row (record) number to be
+     retrieved. First row is 0.
+    </para>
+    <para>
+     <parameter>result_type</parameter> is optional parameter controls
+     how return value is initialized.
+     <parameter>result_type</parameter> is a constant and can take the
+     following values: PGSQL_ASSOC, PGSQL_NUM, and PGSQL_BOTH.
+     <function>pg_fetch_array</function> returns associative array
+     that has field name as key for PGSQL_ASSOC. field index as key
+     with PGSQL_NUM and both field name/index as key with
+     PGSQL_BOTH. Default is PGSQL_BOTH.
+     <note>
+      <para>
+       <parameter>result_type</parameter> was added in PHP 4.0.
+      </para>
+     </note>
+    </para>
+    <para>
+     <function>pg_fetch_array</function> is NOT significantly
+     slower than using <function>pg_fetch_row</function>, while it
+     provides a significant ease of use.
+    </para>
+    <para>
+     See also <function>pg_fetch_row</function> and
+    <function>pg_fetch_object</function> and
+    <function>pg_result</function>.
+    </para>
+    <para>
+     <example>
+      <title>PostgreSQL fetch array</title>
+      <programlisting role="php">
+       <![CDATA[
+<?php 
+$conn = pg_pconnect ("dbname=publisher");
+if (!$conn) {
+    echo "An error occured.\n";
+    exit;
+}
+
+$result = pg_exec ($conn, "SELECT * FROM authors");
+if (!$result) {
+    echo "An error occured.\n";
+    exit;
+}
+
+$arr = pg_fetch_array ($result, 0, PGSQL_NUM);
+echo $arr[0] . " <- array\n";
+
+$arr = pg_fetch_array ($result, 1, PGSQL_ASSOC);
+echo $arr["author"] . " <- array\n";
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+    <note>
+     <para>
+      From 4.1.0, <parameter>row</parameter> became optional.
+     </para>
+    </note>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-fetch-object">
+   <refnamediv>
+    <refname>pg_fetch_object</refname>
+    <refpurpose>Fetch a row as an object</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>object</type><methodname>pg_fetch_object</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+      <methodparam><type>int</type><parameter>row</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>int</type><parameter>result_type</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_fetch_object</function> returns an object with
+     properties that correspond to the fetched row. It returns &false;
+     if there are no more rows or error.
+    </para>
+    <para> 
+     <function>pg_fetch_object</function> is similar to
+     <function>pg_fetch_array</function>, with one difference - an
+     object is returned, instead of an array.  Indirectly, that means
+     that you can only access the data by the field names, and not by
+     their offsets (numbers are illegal property names).
+    </para>
+    <para>
+     <parameter>result_type</parameter> is optional parameter controls
+     how return value is initialized.
+     <parameter>result_type</parameter> is a constant and can take the
+     following values: PGSQL_ASSOC, PGSQL_NUM, and PGSQL_BOTH.
+     <function>pg_fetch_array</function> returns associative array
+     that has field name as key for PGSQL_ASSOC. field index as key
+     with PGSQL_NUM and both field name/index as key with
+     PGSQL_BOTH. Default is PGSQL_BOTH.
+    </para>
+    <para>
+     <note>
+      <para>
+       <parameter>result_type</parameter> was added in PHP 4.0.
+      </para>
+     </note>
+    </para>
+    <para>
+     Speed-wise, the function is identical to
+     <function>pg_fetch_array</function>, and almost as quick as
+     <function>pg_fetch_row</function> (the difference is
+     insignificant).
+    </para>
+    <para> 
+     See also <function>pg_exec</function>, <function>pg_fetch_array</function>,
+     <function>pg_fetch_row</function> and <function>pg_result</function>.
+    </para>
+    <para>
+     <example>
+      <title>Postgres fetch object</title>
+      <programlisting role="php">
+<![CDATA[
+<?php 
+$database = "verlag";
+$db_conn = pg_connect ("host=localhost port=5432 dbname=$database");
+if (!$db_conn): ?>
+    <H1>Failed connecting to postgres database <?php echo $database ?></H1> <?php
+    exit;
+endif;
+
+$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor");
+$row = 0; // postgres needs a row counter other dbs might not 
+
+while ($data = pg_fetch_object ($qu, $row)) {
+    echo $data->autor." (";
+    echo $data->jahr ."): ";
+    echo $data->titel."<BR>";
+    $row++;
+}
+?>
+<PRE>
+<?php
+$fields[] = Array ("autor", "Author");
+$fields[] = Array ("jahr",  "  Year");
+$fields[] = Array ("titel", " Title");
+
+$row= 0; // postgres needs a row counter other dbs might not
+while ($data = pg_fetch_object ($qu, $row)) {
+    echo "----------\n";
+    reset ($fields);
+    while (list (,$item) = each ($fields)):
+        echo $item[1].": ".$data->$item[0]."\n";
+    endwhile;
+    $row++;
+}
+echo "----------\n"; 
+?>
+</PRE> 
+<?php
+pg_freeresult ($qu);
+pg_close ($db_conn);
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+    <note>
+     <para>
+      From 4.1.0, <parameter>row</parameter> became optional.
+     </para>
+    </note>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-fetch-row">
+   <refnamediv>
+    <refname>pg_fetch_row</refname>
+    <refpurpose>Get a row as an enumerated array</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>array</type><methodname>pg_fetch_row</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+      <methodparam><type>int</type><parameter>row</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_fetch_row</function> fetches one row of data from
+     the result associated with the specified
+     <parameter>result</parameter> resource.  The row (record) is
+     returned as an array.  Each result column is stored in an array
+     offset, starting at offset 0.
+    </para>
+    <para> 
+     It returns an array that corresponds to the fetched row, or &false;
+     if there are no more rows.
+    </para>
+    <para>
+     See also: <function>pg_exec</function>,
+     <function>pg_fetch_array</function>,
+     <function>pg_fetch_object</function> and
+     <function>pg_result</function>.
+    </para>
+    <para>
+     <example>
+      <title>Postgres fetch row</title>
+      <programlisting role="php">
+<![CDATA[
+<?php 
+$conn = pg_pconnect ("dbname=publisher");
+if (!$conn) {
+    echo "An error occured.\n";
+    exit;
+}
+
+$result = pg_Exec ($conn, "SELECT * FROM authors");
+if (!$result) {
+    echo "An error occured.\n";
+    exit;
+}
+
+$num = pg_numrows($result); 
+
+for ($i=0; $i < $num; $i++) {
+  $r = pg_fetch_row($result, $i);
+
+  for ($j=0; $j < count($r); $j++) {
+    echo "$r[$j]&nbsp;";
+  }
+
+  echo "<BR>";
+
+}
+ 
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+    <note>
+     <para>
+      From 4.1.0, <parameter>row</parameter> became optional.
+     </para>
+    </note>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-fieldisnull">
+   <refnamediv>
+    <refname>pg_fieldisnull</refname>
+    <refpurpose>Test if a field is &null;</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_fieldisnull</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+      <methodparam><type>int</type><parameter>row</parameter></methodparam>
+      <methodparam><type>mixed</type><parameter>field</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_fieldisnull</function> test if a field is &null; or
+     not. It returns 1 if the field in the given row is &null;. It
+     returns 0 if the field in the given row is NOT &null;. Field can
+     be specified as column index (number) or fieldname (string). Row
+     numbering starts at 0.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-fieldname">
+   <refnamediv>
+    <refname>pg_fieldname</refname>
+    <refpurpose>Returns the name of a field</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>string</type><methodname>pg_fieldname</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+      <methodparam><type>int</type><parameter>field_number</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_fieldname</function> returns the name of the field
+     occupying the given <parameter>field_number</parameter> in the
+     given PostgreSQL <parameter>result</parameter> resource.  Field
+     numbering starts from 0.
+    </para>
+    <para>
+     See also <function>pg_fieldnum</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-fieldnum">
+   <refnamediv>
+    <refname>pg_fieldnum</refname>
+    <refpurpose>Returns the field number of the named field</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_fieldnum</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+      <methodparam><type>string</type><parameter>field_name</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_fieldnum</function> will return the number of the
+     column (field) slot that corresponds to the
+     <parameter>field_name</parameter> in the given PostgreSQL
+     <parameter>result</parameter> resource.  Field numbering starts
+     at 0.  This function will return -1 on error.
+    </para>
+    <para>
+     See also <function>pg_fieldname</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-fieldprtlen">
+   <refnamediv>
+    <refname>pg_fieldprtlen</refname>
+    <refpurpose>Returns the printed length</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_fieldprtlen</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+      <methodparam><type>int</type><parameter>row_number</parameter></methodparam>
+      <methodparam><type>string</type><parameter>field_name</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_fieldprtlen</function> returns the actual printed
+     length (number of characters) of a specific value in a PostgreSQL
+     <parameter>result</parameter>.  Row numbering starts at 0.  This
+     function will return -1 on an error.
+    </para>
+    <para>
+     See also <function>pg_fieldsize</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-fieldsize">
+   <refnamediv>
+    <refname>pg_fieldsize</refname> 
+    <refpurpose>
+     Returns the internal storage size of the named field
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_fieldsize</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+      <methodparam><type>int</type><parameter>field_number</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_fieldsize</function> returns the internal storage
+     size (in bytes) of the field number in the given PostgreSQL
+     <parameter>result</parameter>. Field numbering starts at 0. A
+     field size of -1 indicates a variable length field. This function
+     will return &false; on error.
+    </para>
+    <para>
+     See also <function>pg_fieldlen</function> and <function>pg_fieldtype</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-fieldtype">
+   <refnamediv>
+    <refname>pg_fieldtype</refname> 
+    <refpurpose>
+     Returns the type name for the corresponding field number
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>string</type><methodname>pg_fieldtype</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+      <methodparam><type>int</type><parameter>field_number</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_fieldtype</function> returns a string containing the
+     type name of the given <parameter>field_number</parameter> in the
+     given PostgreSQL <parameter>result</parameter> resource.  Field
+     numbering starts at 0.
+    </para>
+    <para>
+     See also <function>pg_fieldlen</function> and <function>pg_fieldname</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-freeresult">
+   <refnamediv>
+    <refname>pg_freeresult</refname> 
+    <refpurpose>Free result memory</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_freeresult</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_freeresult</function> only needs to be called if you
+     are worried about using too much memory while your script is
+     running. All result memory will automatically be freed when the
+     script is finished. But, if you are sure you are not going to
+     need the result data anymore in a script, you may call
+     <function>pg_freeresult</function> with the
+     <parameter>result</parameter> resource as an argument and the
+     associated result memory will be freed. It returns true on success
+     and false if an error occurs.
+    </para>
+    <para>
+     See also <function>pg_exec</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-getlastoid">
+   <refnamediv>
+    <refname>pg_getlastoid</refname> 
+    <refpurpose>Returns the last object's oid</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_getlastoid</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_getlastoid</function> is used to retrieve the
+     <varname>oid</varname> assigned to an inserted tuple (record) if
+     the result resource is used from the last command sent via
+     <function>pg_exec</function> and was an SQL INSERT.  Returns a
+     positive integer if there was a valid <varname>oid</varname>.  It
+     returns &false; if an error occurs or the last command sent via
+     <function>pg_exec</function> was not an INSERT or INSERT is
+     failed.
+    </para>
+    <para>
+     See also <function>pg_exec</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-host">
+   <refnamediv>
+    <refname>pg_host</refname> 
+    <refpurpose>
+     Returns the host name associated with the connection
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>string</type><methodname>pg_host</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_host</function> returns the host name of the given
+     PostgreSQL <parameter>connection</parameter> resource is
+     connected to.
+    </para>
+    <para>
+     See also <function>pg_connect</function> and
+     <function>pg_pconnect</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-last-notice">
+   <refnamediv>
+    <refname>pg_last_notice</refname> 
+    <refpurpose>
+     Returns the last notice message from PostgreSQL server
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>string</type><methodname>pg_last_notice</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_last_notice</function> returns the last notice
+     message from PostgreSQL server specified by
+     <parameter>connection</parameter>. PostgreSQL server set notice
+     message when transaction cannot be continued. There one can avoid
+     issuing useless SQL using <function>pg_exec</function> using
+     <function>pg_last_notice</function>. There are other cases that
+     PostgreSQL server sets notice message. Programmer must check
+     contents of notice message if it is related to transaction or
+     not.
+    </para>
+    <warning>
+     <para>
+      This function is EXPERIMENTAL and it is not fully implemented
+      yet. <function>pg_last_notice</function> is added form PHP
+      4.0.6. However, PHP 4.0.6 has problem with notice message
+      handling. Use of PostgreSQL module with PHP 4.0.6 is not
+      recommended even if you are not using
+      <function>pg_last_notice</function>.
+     </para>
+    </warning>
+    <para>
+     See also <function>pg_exec</function> and <function>pg_errormessage</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-loclose">
+   <refnamediv>
+    <refname>pg_loclose</refname>
+    <refpurpose>Close a large object</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_loclose</methodname>
+      
+<methodparam><type>resource</type><parameter>large_object</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_loclose</function> closes an Inversion Large
+     Object. <parameter>large_object</parameter> is a resource for the
+     large object from <function>pg_loopen</function>.
+    </para>
+    <para>
+     To use the large object (lo) interface, it is necessary to
+     enclose it within a transaction block.
+    </para>
+    <para>
+     See also <function>pg_loopen</function>,
+     <function>pg_locreate</function> and
+     <function>pg_loimport</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-locreate">
+   <refnamediv>
+    <refname>pg_locreate</refname>
+    <refpurpose>Create a large object</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_locreate</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_locreate</function> creates an Inversion Large
+     Object and returns the <varname>oid</varname> of the large
+     object.  <parameter>connection</parameter> specifies a valid
+     database connection opened by <function>pg_connect</function> or
+     <function>pg_pconnect</function>.  PostgreSQL access modes
+     INV_READ, INV_WRITE, and INV_ARCHIVE are not supported, the
+     object is created always with both read and write
+     access. INV_ARCHIVE has been removed from PostgreSQL itself
+     (version 6.3 and above). It returns large object oid
+     otherwise. It returns &false;, if an error occurred,
+     
+    </para>
+    <para>
+     To use the large object (lo) interface, it is necessary to
+     enclose it within a transaction block.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-loexport">
+   <refnamediv>
+    <refname>pg_loexport</refname>
+    <refpurpose>Export a large object to file</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_loexport</methodname>
+      <methodparam><type>int</type><parameter>oid</parameter></methodparam>
+      <methodparam><type>string</type><parameter>pathname</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     The <parameter>oid</parameter> argument specifies oid of the
+     large object to export and the <parameter>pathname</parameter>
+     argument specifies the pathname of the file. It returns &false; if
+     an error occurred, &true; otherwise. 
+    </para>
+    <para>
+     To use the large object (lo) interface, it is necessary to
+     enclose it within a transaction block.
+    </para>
+    <para>
+     See also <function>pg_loimport</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-loimport">
+   <refnamediv>
+    <refname>pg_loimport</refname>
+    <refpurpose>Import a large object from file</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_loimport</methodname>
+      <methodparam><type>string</type><parameter>pathname</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     The <parameter>pathname</parameter> argument specifies the
+     pathname of the file to be imported as a large object. It returns
+     &false; if an error occurred, oid of the just created large
+     object otherwise. 
+    </para>
+    <para>
+     To use the large object (lo) interface, it is necessary to
+     enclose it within a transaction block.
+    </para>
+    &note.sm.uidcheck;
+    <para>
+     See also <function>pg_loexport</function> and
+     <function>pg_loopen</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-loopen">
+   <refnamediv>
+    <refname>pg_loopen</refname>
+    <refpurpose>Open a large object</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>resource</type><methodname>pg_loopen</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+      <methodparam><type>int</type><parameter>oid</parameter></methodparam>
+      <methodparam><type>string</type><parameter>mode</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_loopen</function> open an Inversion Large Object and
+     returns large object resource. The resource encapsulates
+     information about the connection. 
+     <parameter>oid</parameter> specifies a valid large object oid and
+     <parameter>mode</parameter> can be either "r", "w", or "rw". It
+     returns &false; if there is an error.
+    </para>
+    <warning>
+     <para>
+      Do not close the database connection before closing the large
+      object resource. 
+     </para>
+    </warning>
+    <para>
+     To use the large object (lo) interface, it is necessary to
+     enclose it within a transaction block.
+    </para>
+    <para>
+     See also <function>pg_loclose</function> and
+     <function>pg_locreate</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-loread">
+   <refnamediv>
+    <refname>pg_loread</refname>
+    <refpurpose>Read a large object</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>string</type><methodname>pg_loread</methodname>
+      
+<methodparam><type>resource</type><parameter>large_object</parameter></methodparam>
+      <methodparam><type>int</type><parameter>len</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_loread</function> reads at most
+     <parameter>len</parameter> bytes from a large object and returns
+     it as a string.  <parameter>large_object</parameter> specifies a
+     valid large object resource and<parameter>len</parameter>
+     specifies the maximum allowable size of the large object
+     segment. It returns &false; if there is an error.
+    </para>
+    <para>
+     To use the large object (lo) interface, it is necessary to
+     enclose it within a transaction block.
+    </para>
+    <para>
+     See also <function>pg_loreadall</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-loreadall">
+   <refnamediv>
+    <refname>pg_loreadall</refname>
+    <refpurpose>
+     Read a entire large object and send straight to browser
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_loreadall</methodname>
+      
+<methodparam><type>resource</type><parameter>large_object</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_loreadall</function> reads a large object and passes
+     it straight through to the browser after sending all pending
+     headers. Mainly intended for sending binary data like images or
+     sound. It returns number of bytes read. It returns &false;, if an
+     error occurred.
+    </para>
+    <para>
+     To use the large object (lo) interface, it is necessary to
+     enclose it within a transaction block.
+    </para>
+    <para>
+     See also <function>pg_loread</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-lounlink">
+   <refnamediv>
+    <refname>pg_lounlink</refname>
+    <refpurpose>Delete a large object</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_lounlink</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+      <methodparam><type>int</type><parameter>oid</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_lounlink</function> deletes a large object with the
+     <parameter>oid</parameter>. It returns &true; on success,
+     otherwise returns &false;.
+    </para>
+    <para>
+     To use the large object (lo) interface, it is necessary to
+     enclose it within a transaction block.
+    </para>
+    <para>
+     See also <function>pg_locreate</function> and
+     <function>pg_loimport</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-lowrite">
+   <refnamediv>
+    <refname>pg_lowrite</refname>
+    <refpurpose>Write a large object</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_lowrite</methodname>
+      
+<methodparam><type>resource</type><parameter>large_object</parameter></methodparam>
+      <methodparam><type>string</type><parameter>data</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_lowrite</function> writes at most to a large object
+     from a variable <parameter>data</parameter> and returns the number
+     of bytes actually written, or &false; in the case of an error.
+     <parameter>large_object</parameter> is a large object resource
+     from <function>pg_loopen</function>. 
+    </para>
+    <para>
+     To use the large object (lo) interface, it is necessary to
+     enclose it within a transaction block.
+    </para>
+    <para>
+     See also <function>pg_locreate</function> and
+     <function>pg_loopen</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-numfields">
+   <refnamediv>
+    <refname>pg_numfields</refname> 
+    <refpurpose>Returns the number of fields</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_numfields</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_numfields</function> returns the number of fields
+     (columns) in a PostgreSQL <parameter>result</parameter>. The
+     argument is a result resource returned by
+     <function>pg_exec</function>. This function will return -1 on
+     error.
+    </para>
+    <para>
+     See also <function>pg_numrows</function> and
+     <function>pg_cmdtuples</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-numrows">
+   <refnamediv>
+    <refname>pg_numrows</refname> 
+    <refpurpose>Returns the number of rows</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_numrows</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_numrows</function> will return the number of rows in
+     a PostgreSQL <parameter>result</parameter> resource.
+     <parameter>result</parameter> is a query result resource returned
+     by <function>pg_exec</function>. This function will return -1 on
+     error.
+    </para>
+    <note>
+     <para>
+      Use <function>pg_cmdtuples</function> to get number of rows
+      affected by INSERT, UPDATE and DELETE query.
+     </para>
+    </note>
+    <para>
+     See also <function>pg_numfields</function> and
+     <function>pg_cmdtuples</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-options">
+   <refnamediv>
+    <refname>pg_options</refname> 
+    <refpurpose>Get the options associated with the connection</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>string</type><methodname>pg_options</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_options</function> will return a string containing
+     the options specified on the given PostgreSQL
+     <parameter>connection</parameter> resource.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.pg-pconnect">
+   <refnamediv>
+    <refname>pg_pconnect</refname>
+    <refpurpose>Open a persistent PostgreSQL connection</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_pconnect</methodname>
+      
+<methodparam><type>string</type><parameter>connection_string</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_pconnect</function> opens a connection to a
+     PostgreSQL database.  It returns a connection resource that is
+     needed by other PostgreSQL functions.
+    </para>
+    <para>
+     It returns a connection resource on success, or &false; if the
+     connection could not be made. The arguments should be within a
+     quoted string.  The arguments available include
+     <parameter>host</parameter>, <parameter>port</parameter>,
+     <parameter>tty</parameter>, <parameter>options</parameter>,
+     <parameter>dbname</parameter>, <parameter>user</parameter>, and
+     <parameter>password</parameter>.
+    </para>
+     <example>
+     <title>Using pg_pconnect</title>
+     <programlisting role="php">
+<![CDATA[
+<?php
+$dbconn = pg_connect ("dbname=mary");
+//connect to a database named "mary"
+$dbconn2 = pg_connect ("host=localhost port=5432 dbname=mary");
+// connect to a database named "mary" on "localhost" at port "5432"
+$dbconn3 = pg_connect ("host=sheep port=5432 dbname=mary user=lamb password=foo");
+//connect to a database named "mary" on the host "sheep" with a username and password
+$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
+$dbconn4 = pg_connect ($conn_string);
+//connect to a database named "test" on the host "sheep" with a username and password
+?>
+]]>
+     </programlisting>
+     </example>
+    <para>
+     If a second call is made to <function>pg_pconnect</function> with
+     the same arguments, no new connection will be established, but
+     instead, the connection resource of the already opened connection
+     will be returned. You can have multiple connections to the same
+     database if you use different connection string.
+    </para>
+    <para>
+     Multiple parameters syntax for <function>pg_pconnect</function> 
+     <command>$conn = pg_pconnect ("host", "port", "options", "tty",
+    "dbname")
+     </command>
+     has been deprecated.
+    </para>
+    <para>
+     To enable persistent connection, <link
+     linkend="ini.pgsql.allow-persistent">pgsql.allow_persistent</link>
+     <filename>php.ini</filename> directive must be set to &quot;On&quot;. (Default 
+is On)
+     Max number of persistent connection can be defined by <link
+     linkend="ini.pgsql.max-persistent">pgsql.max_persistent</link>
+     <filename>php.ini</filename> directive. (Default is -1 which is no limit) Total 
+number
+     of connection can be set by <link
+     linkend="ini.pgsql.max-links">pgsql.max_links</link> 
+     <filename>php.ini</filename> directive.
+    </para>
+    <para>
+     <function>pg_close</function> will not close persistent links
+     generated by <function>pg_pconnect</function>.  
+    </para>
+    <para>
+     See also <function>pg_connect</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-port">
+   <refnamediv>
+    <refname>pg_port</refname>
+    <refpurpose>
+     Return the port number associated with the connection
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_port</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_port</function> returns the port number that the
+     given PostgreSQL <parameter>connection</parameter> resource is
+     connected to.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-put-line">
+   <refnamediv>
+    <refname>pg_put_line</refname>
+    <refpurpose>Send a NULL-terminated string to PostgreSQL backend</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_put_line</methodname>
+      <methodparam 
+choice="opt"><type>resource</type><parameter>connection</parameter></methodparam>
+      <methodparam><type>string</type><parameter>data</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_put_line</function> sends a NULL-terminated string
+     to the PostgreSQL backend server. This is useful for example for
+     very high-speed inserting of data into a table, initiated by
+     starting a PostgreSQL copy-operation. That final NULL-character
+     is added automatically. It returns &true; if successful, &false;
+     otherwise.
+    </para>
+    <note>
+     <para> 
+      Note the application must explicitly send the two characters "\."
+      on a final line to indicate to the backend that it has finished
+      sending its data.
+     </para>
+    </note>
+    <para>
+     See also <function>pg_end_copy</function>.
+     <example>
+      <title>High-speed insertion of data into a table</title>
+      <programlisting role="php">
+<![CDATA[
+<?php 
+    $conn = pg_pconnect ("dbname=foo");
+    pg_exec($conn, "create table bar (a int4, b char(16), d float8)");
+    pg_exec($conn, "copy bar from stdin");
+    pg_put_line($conn, "3\thello world\t4.5\n");
+    pg_put_line($conn, "4\tgoodbye world\t7.11\n");
+    pg_put_line($conn, "\\.\n");
+    pg_end_copy($conn);
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-result">
+   <refnamediv>
+    <refname>pg_result</refname>
+    <refpurpose>Returns values from a result resource</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>mixed</type><methodname>pg_result</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+      <methodparam><type>int</type><parameter>row_number</parameter></methodparam>
+      <methodparam><type>mixed</type><parameter>field</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_result</function> returns values from a
+     <parameter>result</parameter> resource returned by
+     <function>pg_exec</function>. <parameter>row_number</parameter>
+     is integer.  <parameter>field</parameter> is field name(string)
+     or field index (integer). The <parameter>row_number</parameter>
+     and <parameter>field</parameter> specify what cell in the table
+     of results to return.  Row numbering starts from 0.  Instead of
+     naming the field, you may use the field index as an unquoted
+     number.  Field indices start from 0.
+    </para>
+    <para>
+     PostgreSQL has many built in types and only the basic ones are
+     directly supported here.  All forms of <type>integer</type>,
+     <type>boolean</type> and void 
+     <!-- FIXME: is that still true? PHP supports boolean&null now... --> 
+     <!-- Yes, supporting boolean&null breaks scripts. pg_fetch_array() 
+          can be used instead. I might take of this issue with additional 
+          ini directive. [EMAIL PROTECTED] --> 
+     types are
+     returned as <type>integer</type> values.  All forms of float, and
+     real types are returned as <type>float</type> values.  All other
+     types, including arrays are returned as strings formatted in the
+     same default PostgreSQL manner that you would see in the
+     <command>psql</command> program.  
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-set-client-encoding">
+   <refnamediv>
+    <refname>pg_set_client_encoding</refname>
+    <refpurpose>
+     Set the client encoding
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_set_client_encoding</methodname>
+      <methodparam 
+choice="opt"><type>resource</type><parameter>connection</parameter></methodparam>
+      <methodparam><type>string</type><parameter>encoding</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_set_client_encoding</function> sets the client
+     encoding and return 0 if success or -1 if error.
+    </para>
+    <para>
+     <parameter>encoding</parameter> is the client encoding and can be
+     either : SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE,
+     MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5,
+     WIN1250. Available encoding depends on your PostgreSQL and libpq
+     version. Refer to PostgreSQL manual for supported encodings for
+     your PostgreSQL.
+    </para>
+    <note>
+     <para>
+      This function requires PHP-4.0.3 or higher and PostgreSQL-7.0 or
+      higher. Supported encoding depends on PostgreSQL version. Refer
+      to PostgreSQL manual for details.
+     </para>
+     <para>
+      The function used to be called
+      <function>pg_setclientencoding</function>.
+     </para>
+    </note>
+    <para>
+     See also <function>pg_client_encoding</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-client-encoding">
+   <refnamediv>
+    <refname>pg_client_encoding</refname>
+    <refpurpose>
+     Get the client encoding
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>      
+     <methodsynopsis>
+      <type>string</type><methodname>pg_client_encoding</methodname>
+      <methodparam 
+choice="opt"><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_client_encoding</function> returns the client
+     encoding as the string. The returned string should be either :
+     SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE,
+     MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5,
+     WIN1250.
+    </para>
+    <note>
+     <para>
+      This function requires PHP-4.0.3 or higher and PostgreSQL-7.0 or
+      higher. If libpq is compiled without multibyte encoding support,
+      <function>pg_set_client_encoding</function> always return
+      &quot;SQL_ASCII&quot;. Supported encoding depends on PostgreSQL
+      version.  Refer to PostgreSQL manual for details to enable
+      multibyte support and encoding supported.
+     </para>
+     <para>
+      The function used to be called
+      <function>pg_clientencoding</function>.
+     </para>
+    </note>
+    <para>
+     See also <function>pg_set_client_encoding</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-trace">
+   <refnamediv>
+    <refname>pg_trace</refname>
+    <refpurpose>Enable tracing a PostgreSQL connection</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <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></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 debugging file specified as
+     <parameter>pathname</parameter>. To fully understand the results,
+     one needs to be familiar with the internals of PostgreSQL
+     communication protocol.  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 query actually were sent to the
+     PostgreSQL server. For more information, refer to PostgreSQL
+     manual.
+    </para>
+    <para>
+     <parameter>Filename</parameter> and <parameter>mode</parameter>
+     are the same as in <function>fopen</function>
+     (<parameter>mode</parameter> defaults to 'w'),
+     <parameter>connection</parameter> specifies the connection to
+     trace and defaults to the last one opened.
+    </para>
+    <para>
+     It returns &true; if <parameter>pathname</parameter> could be opened
+     for logging, &false; otherwise.
+    </para>
+    <para>
+     See also <function>fopen</function> and
+     <function>pg_untrace</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-tty">
+   <refnamediv>
+    <refname>pg_tty</refname>
+    <refpurpose>
+     Return the tty name associated with the connection
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>string</type><methodname>pg_tty</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_tty</function> returns the tty name that server
+     side debugging output is sent to on the given PostgreSQL
+     <parameter>connection</parameter> resource.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id="function.pg-untrace">
+   <refnamediv>
+    <refname>pg_untrace</refname>
+    <refpurpose>Disable tracing of a PostgreSQL connection</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_untrace</methodname>
+      <methodparam 
+choice="opt"><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     Stop tracing started by <function>pg_trace</function>.
+     <parameter>connection</parameter> specifies the connection that was
+     traced and defaults to the last one opened.
+    </para>
+    <para>
+     Returns always &true;.
+    </para>
+    <para>
+     See also <function>pg_trace</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-get-result'>
+   <refnamediv>
+    <refname>pg_get_result</refname>
+    <refpurpose>
+     Get asynchronous query result
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>resource</type><methodname>pg_get_result</methodname>
+      <methodparam 
+choice="opt"><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_get_result</function> get result resource from async
+     query executed by
+     <function>pg_send_query</function>. <function>pg_send_query</function>
+     can send multiple queries to PostgreSQL server and
+     <function>pg_get_result</function> is used to get query result
+     one by one. It returns result resource. If there is no more
+     results, it returns &false;.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-result-status'>
+   <refnamediv>
+    <refname>pg_result_status</refname>
+    <refpurpose>
+     Get status of query result
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_result_status</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_result_status</function> returns status of result
+     resource. Possible retun values are PGSQL_EMPTY_QUERY,
+     PGSQL_COMMAND_OK, PGSQL_TUPLES_OK, PGSQL_COPY_TO,
+     PGSQL_COPY_FROM, PGSQL_BAD_RESPONSE, PGSQL_NONFATAL_ERROR and
+     PGSQL_FATAL_ERROR.
+    </para>
+    <para>
+     See also <function>pg_connection_status</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-send-query'>
+   <refnamediv>
+    <refname>pg_send_query</refname>
+    <refpurpose>
+     Send asynchronous query
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_send_query</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+      <methodparam><type>string</type><parameter>query</parameter></methodparam>
+     </methodsynopsis>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_send_query</methodname>
+      <methodparam><type>string</type><parameter>query</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_send_query</function> send asynchronous query to the
+     <parameter>connection</parameter>. Unlike
+     <function>pg_query</function>, it can send multiple query to
+     PostgreSQL and get the result one by one using
+     <function>pg_get_result</function>. Script execution is not block
+     while query is executing. Use
+     <function>pg_connection_busy</function> to check connection is
+     busy (i.e. query is executing) Query may be canceled by calling
+     <function>pg_cancel_query</function>.
+    </para>
+    <para>
+     Although, user can send multiple query at once. User cannot send
+     multiple query over busy connection. If query is sent while
+     connection is busy, it waits until last query is finished and
+     discards all result.
+    </para>
+    <para>
+     See also <function>pg_query</function>,
+     <function>pg_cancel_query</function>,
+     <function>pg_get_result</function> and
+     <function>pg_connection_busy</function>
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-cancel-query'>
+   <refnamediv>
+    <refname>pg_cancel_query</refname>
+    <refpurpose>
+     Cancel async query
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_cancel_query</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_cancel_query</function> cancel asynchronous query sent by 
+     <function>pg_send_query</function>. You cannot cancel query executed by 
+     <function>pg_query</function>.
+    </para>
+    <para>
+     See also <function>pg_send_query</function>,
+     <function>pg_cancel_result</function> and
+     <function>pg_connection_busy</function>
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-connection-busy'>
+   <refnamediv>
+    <refname>pg_connection_busy</refname>
+    <refpurpose>
+     Get connection is busy or not
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_connection_busy</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_connection_busy</function> returns &true; if
+     connection busy. If connection is busy, previously sent query to
+     PostgreSQL server is still executing. If
+     <function>pg_get_result</function> is called,
+     <function>pg_get_result</function> will block.
+    </para>
+    <para>
+     See also <function>pg_connection_status</function> and
+     <function>pg_get_result</function>
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-connection-reset'>
+   <refnamediv>
+    <refname>pg_connection_reset</refname>
+    <refpurpose>
+     Reset connection (reconnect)
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_connection_reset</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_connection_reset</function> reset connection with
+     the same parameter when connection is made. It is useful for
+     error recovery. It returns &true; if it resets connection
+     successfully, otherwise returns &false;.
+    </para>
+    <para>
+     See also <function>pg_connect</function>,
+     <function>pg_pconnect</function> and
+     <function>pg_connection_status</function>
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-connection-status'>
+   <refnamediv>
+    <refname>pg_connection_status</refname>
+    <refpurpose>
+     Get connection status
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_connection_status</methodname>
+      
+<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_connection_status</function> returns a connection
+     status. Possible status is <literal>PGSQL_CONNECTION_O</literal>
+     or <literal>PGSQL_CONNECTION_BAD</literal>.
+    </para>
+    <para>
+     See also <function>pg_connection_busy</function>
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-copy-from'>
+   <refnamediv>
+    <refname>pg_copy_from</refname>
+    <refpurpose>
+     Copy table from array
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_copy_from</methodname>
+      <methodparam><type>int</type><parameter>connection</parameter></methodparam>
+      <methodparam><type>string</type><parameter>table_name</parameter></methodparam>
+      <methodparam><type>array</type><parameter>rows</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>string</type><parameter>delimiter</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>string</type><parameter>null_as</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_copy_from</function> copy table from array. It
+     return &true; for success, otherwise &false;.
+    </para>
+    <para>
+     See also <function>pg_copy_to</function>
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-copy-to'>
+   <refnamediv>
+    <refname>pg_copy_to</refname>
+    <refpurpose>
+     Copy table to array
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_copy_to</methodname>
+      <methodparam><type>int</type><parameter>connection</parameter></methodparam>
+      <methodparam><type>string</type><parameter>table_name</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>string</type><parameter>delimiter</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>string</type><parameter>null_as</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_copy_to</function> copy table to array. The result
+     array is returned if it success to copy. Otherwise it returns
+     &false;.
+    </para>
+    <para>
+     See also <function>pg_copy_from</function>
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-escape-bytea'>
+   <refnamediv>
+    <refname>pg_escape_bytea</refname>
+    <refpurpose>
+     Escape binary for bytea type
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>string</type><methodname>pg_escape_bytea</methodname>
+      <methodparam><type>string</type><parameter>data</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_escape_string</function> escapes string for
+     bytea datatype.  It returns escaped string.
+    </para>
+    <note>
+     <para>
+      This function is requires PostgreSQL 7.2 or later.
+      </para>
+    </note>
+    <para>
+     See also <function>pg_escape_string</function>
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-escape-string'>
+   <refnamediv>
+    <refname>pg_escape_string</refname>
+    <refpurpose>
+     Escape string for text/char type
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>string</type><methodname>pg_escape_string</methodname>
+      <methodparam><type>string</type><parameter>data</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_escape_string</function> escapes string for
+     text/char datatype.  It returns escaped string.
+    </para>
+    <note>
+     <para>
+      This function is requires PostgreSQL 7.2 or later.
+      </para>
+    </note>
+    <para>
+     See also <function>pg_escape_bytea</function>
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-lo-seek'>
+   <refnamediv>
+    <refname>pg_lo_seek</refname>
+    <refpurpose>
+     Seeks position of large object
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>bool</type><methodname>pg_lo_seek</methodname>
+      
+<methodparam><type>resource</type><parameter>large_object</parameter></methodparam>
+      <methodparam><type>int</type><parameter>offset</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>int</type><parameter>whence</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_lo_seek</function> seeks position of large object
+     resource. <parameter>whence</parameter> is PGSQL_SEEK_SET,
+     PGSQL_SEEK_CUR or PGSQL_SEEK_END.
+    </para>
+    <para>
+     See also <function>pg_lo_tell</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-lo-tell'>
+   <refnamediv>
+    <refname>pg_lo_tell</refname>
+    <refpurpose>
+     Returns current position of large object
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>int</type><methodname>pg_lo_tell</methodname>
+      
+<methodparam><type>resource</type><parameter>large_object</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_lo_tell</function> returns current position (offset
+     from the beginning of large object).
+    </para>
+    <para>
+     See also <function>pg_lo_seek</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+
+
+  <refentry id='function.pg-result-error'>
+   <refnamediv>
+    <refname>pg_result_error</refname>
+    <refpurpose>
+     Get error message associated with result
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Descrizione</title>
+     <methodsynopsis>
+      <type>string</type><methodname>pg_result_error</methodname>
+      <methodparam><type>resource</type><parameter>result</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>pg_result_error</function> returns error message
+     associated with <parameter>result</parameter> resource. Therefore,
+     user has better chance to get better error message than
+     <function>pg_last_error</function>.
+    </para>
+    <para>
+     See also <function>pg_query</function>,
+     <function>pg_send_query</function>,
+     <function>pg_get_result</function>,
+     <function>pg_last_error</function> and
+     <function>pg_last_notice</function>
+    </para>    
+   </refsect1>
+  </refentry>
+ 
+ </reference>
+
+<!-- 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:"../../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
+-->
+


Reply via email to