PHP Manual
Prev |  | Next

# 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

Prev | Home | Next
posix_getrlimit | Up | pg_Close