2002-04-15 00:12:54 +00:00
|
|
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
2007-06-20 22:25:43 +00:00
|
|
|
<!-- $Revision: 1.30 $ -->
|
2005-09-04 19:39:32 +00:00
|
|
|
<!-- Purpose: database.vendors -->
|
|
|
|
<!-- Membership: bundled, external -->
|
|
|
|
|
2007-06-20 22:25:43 +00:00
|
|
|
<reference xml:id="ref.pgsql" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
2005-03-08 00:06:33 +00:00
|
|
|
<title>PostgreSQL Functions</title>
|
|
|
|
<titleabbrev>PostgreSQL</titleabbrev>
|
2002-04-15 00:12:54 +00:00
|
|
|
|
2005-03-08 00:06:33 +00:00
|
|
|
<partintro>
|
2007-06-20 22:25:43 +00:00
|
|
|
<section xml:id="pgsql.intro">
|
2005-03-08 00:06:33 +00:00
|
|
|
&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>
|
2002-08-07 10:01:28 +00:00
|
|
|
|
2007-06-20 22:25:43 +00:00
|
|
|
<section xml:id="pgsql.requirements">
|
2005-03-08 00:06:33 +00:00
|
|
|
&reftitle.required;
|
|
|
|
<para>
|
|
|
|
To use PostgreSQL support, you need PostgreSQL 6.5 or
|
2005-04-05 05:55:14 +00:00
|
|
|
later, PostgreSQL 8.0 or later to enable all PostgreSQL module
|
2005-09-05 04:07:19 +00:00
|
|
|
features. PostgreSQL supports many character encodings including
|
2005-03-08 00:06:33 +00:00
|
|
|
multibyte character encoding. The current version and more
|
|
|
|
information about PostgreSQL is available at
|
2007-06-20 22:25:43 +00:00
|
|
|
<link xlink:href="&url.pgsql;">&url.pgsql;</link> and
|
|
|
|
the <link xlink:href="&url.pgsql.manual;">PostgreSQL Documentation</link>.
|
2005-03-08 00:06:33 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
2002-08-07 10:01:28 +00:00
|
|
|
|
2005-03-08 00:06:33 +00:00
|
|
|
&reference.pgsql.configure;
|
2002-08-07 10:01:28 +00:00
|
|
|
|
2005-03-08 00:06:33 +00:00
|
|
|
&reference.pgsql.ini;
|
2002-08-07 10:01:28 +00:00
|
|
|
|
2007-06-20 22:25:43 +00:00
|
|
|
<section xml:id="pgsql.resources">
|
2005-09-05 04:07:19 +00:00
|
|
|
&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;
|
|
|
|
|
2007-06-20 22:25:43 +00:00
|
|
|
<section xml:id="pgsql.notes">
|
2005-09-05 04:07:19 +00:00
|
|
|
&reftitle.notes;
|
|
|
|
<note>
|
2002-04-15 00:12:54 +00:00
|
|
|
<para>
|
2005-09-05 04:07:19 +00:00
|
|
|
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.
|
2002-04-15 00:12:54 +00:00
|
|
|
</para>
|
2005-09-05 04:07:19 +00:00
|
|
|
</note>
|
|
|
|
<note>
|
2005-03-08 00:06:33 +00:00
|
|
|
<para>
|
2005-09-05 04:07:19 +00:00
|
|
|
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;.
|
2005-03-08 00:06:33 +00:00
|
|
|
</para>
|
2005-09-05 04:07:19 +00:00
|
|
|
</note>
|
2005-03-08 00:06:33 +00:00
|
|
|
<note>
|
2002-08-07 10:01:28 +00:00
|
|
|
<para>
|
2005-03-08 00:06:33 +00:00
|
|
|
PostgreSQL automatically folds all identifiers (e.g. table/column names)
|
2005-09-05 04:07:19 +00:00
|
|
|
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
|
2007-06-20 22:25:43 +00:00
|
|
|
queryable form. See the <link xlink:href="&url.pgsql.manual;">PostgreSQL Documentation</link>
|
2005-09-05 04:07:19 +00:00
|
|
|
for full details.
|
2002-08-07 10:01:28 +00:00
|
|
|
</para>
|
2005-03-08 00:06:33 +00:00
|
|
|
</note>
|
|
|
|
</section>
|
|
|
|
|
2007-06-20 22:25:43 +00:00
|
|
|
<section xml:id="pgsql.examples">
|
2005-03-08 00:06:33 +00:00
|
|
|
&reftitle.examples;
|
2005-09-05 04:07:19 +00:00
|
|
|
<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">
|
2002-04-15 00:12:54 +00:00
|
|
|
<![CDATA[
|
|
|
|
<?php
|
2005-09-05 04:07:19 +00:00
|
|
|
// Connecting, selecting database
|
2005-10-06 04:09:23 +00:00
|
|
|
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
|
2005-09-05 04:07:19 +00:00
|
|
|
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
|
2005-09-20 10:38:52 +00:00
|
|
|
pg_close($dbconn);
|
2002-04-15 00:12:54 +00:00
|
|
|
?>
|
|
|
|
]]>
|
2005-09-05 04:07:19 +00:00
|
|
|
</programlisting>
|
|
|
|
</example>
|
|
|
|
</para>
|
|
|
|
</section>
|
2005-03-08 00:06:33 +00:00
|
|
|
</partintro>
|
2002-04-15 00:12:54 +00:00
|
|
|
|
|
|
|
&reference.pgsql.functions;
|
|
|
|
|
2005-03-08 00:06:33 +00:00
|
|
|
</reference>
|
|
|
|
|
2002-04-15 00:12:54 +00:00
|
|
|
<!-- 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
|
|
|
|
-->
|