XLIII. PostgreSQL functions
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/SQL3 language support, transaction integrity, and type
extensibility. PostgreSQL is a public-domain, open source
descendant of this original Berkeley code.
PostgreSQL is available without cost. The current version is
available at www.PostgreSQL.org.
Since version 6.3 (03/02/1998) PostgreSQL uses unix domain sockets.
A table is shown below describing these new connection possibilities.
This socket will be found in /tmp/.s.PGSQL.5432.
This option can be enabled with the '-i' flag to postmaster
and it's meaning is: "listen on TCP/IP sockets as well as
Unix domain sockets".
Table 1. Postmaster and PHP
| Postmaster | PHP | Status |
|---|
| postmaster & | pg_connect("", "", "", "", "dbname"); | OK |
| postmaster -i & | pg_connect("", "", "", "", "dbname"); | OK |
| postmaster & | pg_connect("localhost", "", "", "", "dbname"); |
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
/path/to/file.php3 on line 20.
|
| postmaster -i & | pg_connect("localhost", "", "", "", "dbname"); | OK |
One can also establish a connection with the following command:
$conn = pg_Connect("host=localhost port=5432
dbname=chris");
To use the large object (lo) interface, it is necessary to enclose
it within a transaction block. A transaction block starts with a
begin and if the transaction was valid ends
with commit and end. If the
transaction fails the transaction should be closed with
abort and rollback.
Example 1. Using Large Objects 1
2 <?php
3 $database = pg_Connect ("", "", "", "", "jacarta");
4 pg_exec ($database, "begin");
5 $oid = pg_locreate ($database);
6 echo ("$oid\n");
7 $handle = pg_loopen ($database, $oid, "w");
8 echo ("$handle\n");
9 pg_lowrite ($handle, "gaga");
10 pg_loclose ($handle);
11 pg_exec ($database, "commit")
12 pg_exec ($database, "end")
13 ?>
14 |
|