Abscissa Tech Home Design Coding Media Server
Tutorials Courses Forums Resources
  Home
 
  Member Options
    Sign Up
  Log In
 
  Tools
    PowerHTML
    Teacher's Lounge
  References
  HTML
  PHP
  CSS
 
  Search
 
 
    Legalese
    Contact Us
    Privacy Policy
    About Abscissa

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

PostmasterPHPStatus
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      

Table of Contents
pg_Close — closes a PostgreSQL connection
pg_cmdTuples — returns number of affected tuples
pg_Connect — opens a connection
pg_DBname — database name
pg_ErrorMessage — error message
pg_Exec — execute a query
pg_Fetch_Array — fetch row as array
pg_Fetch_Object — fetch row as object
pg_Fetch_Row — get row as enumerated array
pg_FieldIsNull — Test if a field is NULL
pg_FieldName — Returns the name of a field
pg_FieldNum — Returns the number of a column
pg_FieldPrtLen — Returns the printed length
pg_FieldSize — Returns the internal storage size of the named field
pg_FieldType — Returns the type name for the corresponding field number
pg_FreeResult — Frees up memory
pg_GetLastOid — Returns the last object identifier
pg_Host — Returns the host name
pg_loclose — close a large object
pg_locreate — create a large object
pg_loopen — open a large object
pg_loread — read a large object
pg_loreadall — read a entire large object
pg_lounlink — delete a large object
pg_lowrite — write a large object
pg_NumFields — Returns the number of fields
pg_NumRows — Returns the number of rows
pg_Options — Returns options
pg_pConnect — Make a persistent database connection
pg_Port — Returns the port number
pg_Result — Returns values from a result identifier
pg_tty — Returns the tty name

This PHP manual is Copyright © 1997, 1998, 1999, 2000 the PHP Documentation Group. It has been licensed under the GPL. Permission granted for display on the Abscissa Tech web site on March 9, 2000. The most recent PHP documentation is available at http://www.php.net/.