php-doc-en/reference/pgsql/reference.xml

156 lines
4.7 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.30 $ -->
<!-- Purpose: database.vendors -->
<!-- Membership: bundled, external -->
<reference xml:id="ref.pgsql" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>PostgreSQL Functions</title>
<titleabbrev>PostgreSQL</titleabbrev>
<partintro>
<section xml:id="pgsql.intro">
&reftitle.intro;
<para>
PostgreSQL database is Open Source product and available without
cost. Postgres, developed originally in the UC Berkeley Computer
Science Department, pioneered many of the object-relational concepts
now becoming available in some commercial databases. It provides
SQL92/SQL99 language support, transactions, referential integrity,
stored procedures and type extensibility. PostgreSQL is an open source
descendant of this original Berkeley code.
</para>
</section>
<section xml:id="pgsql.requirements">
&reftitle.required;
<para>
To use PostgreSQL support, you need PostgreSQL 6.5 or
later, PostgreSQL 8.0 or later to enable all PostgreSQL module
features. PostgreSQL supports many character encodings including
multibyte character encoding. The current version and more
information about PostgreSQL is available at
<link xlink:href="&url.pgsql;">&url.pgsql;</link> and
the <link xlink:href="&url.pgsql.manual;">PostgreSQL Documentation</link>.
</para>
</section>
&reference.pgsql.configure;
&reference.pgsql.ini;
<section xml:id="pgsql.resources">
&reftitle.resources;
<para>
There are two resource types used in the PostgreSQL module. The first one
is the link identifier for a database connection, the second a resource
which holds the result of a query.
</para>
</section>
&reference.pgsql.constants;
<section xml:id="pgsql.notes">
&reftitle.notes;
<note>
<para>
Not all functions are supported by all builds. It depends on your
libpq (The PostgreSQL C client library) version and how libpq is
compiled. If PHP PostgreSQL extensions are missing, then it is because
your libpq version does not support them.
</para>
</note>
<note>
<para>
Most PostgreSQL functions accept <parameter>connection</parameter> as
the first optional parameter. If it is not provided, the last opened
connection is used. If it doesn't exist, functions return &false;.
</para>
</note>
<note>
<para>
PostgreSQL automatically folds all identifiers (e.g. table/column names)
to lower-case values at object creation time and at query time.
To force the use of mixed or upper case identifiers, you must escape
the identifier using double quotes ("").
</para>
</note>
<note>
<para>
PostgreSQL does not have special commands for fetching database schema
information (eg. all the tables in the current database). Instead, there
is a standard schema named <literal>information_schema</literal> in
PostgreSQL 7.4 and above containing
system views with all the necessary information, in an easily
queryable form. See the <link xlink:href="&url.pgsql.manual;">PostgreSQL Documentation</link>
for full details.
</para>
</note>
</section>
<section xml:id="pgsql.examples">
&reftitle.examples;
<para>
This simple example shows how to connect, execute a query, print
resulting rows and disconnect from a PostgreSQL database.
<example>
<title>PostgreSQL extension overview example</title>
<programlisting role="php">
<![CDATA[
<?php
// Connecting, selecting database
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
or die('Could not connect: ' . pg_last_error());
// Performing SQL query
$query = 'SELECT * FROM authors';
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
// Printing results in HTML
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
// Free resultset
pg_free_result($result);
// Closing connection
pg_close($dbconn);
?>
]]>
</programlisting>
</example>
</para>
</section>
</partintro>
&reference.pgsql.functions;
</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
-->