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 "--with-pgsql[=DIR]" 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>
+ È 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 &</entry>
+ <entry>pg_connect("dbname=NomeMioDatabase");</entry>
+ <entry>OK</entry>
+ </row>
+ <row>
+ <entry>postmaster -i &</entry>
+ <entry>pg_connect("dbname=NomeMioDatabase");</entry>
+ <entry>OK</entry>
+ </row>
+ <row>
+ <entry>postmaster &</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 &</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] ";
+ }
+
+ 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>
+ ¬e.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 "On". (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
+ "SQL_ASCII". 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
+-->
+