1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.29 $ -->
<!-- Purpose: database.vendors -->
<!-- Membership: bundled, external -->
<reference id="ref.pgsql">
<title>PostgreSQL Functions</title>
<titleabbrev>PostgreSQL</titleabbrev>
<partintro>
<section 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 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
<ulink url="&url.pgsql;">&url.pgsql;</ulink> and
the <ulink url="&url.pgsql.manual;">PostgreSQL Documentation</ulink>.
</para>
</section>
&reference.pgsql.configure;
&reference.pgsql.ini;
<section 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 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 <ulink url="&url.pgsql.manual;">PostgreSQL Documentation</ulink>
for full details.
</para>
</note>
</section>
<section 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
-->
|