XXXII. PostgreSQL functions

¥Ø¿ý
pg_Close
pg_cmdTuples
pg_Connect
pg_DBname
pg_ErrorMessage
pg_Exec
pg_Fetch_Array
pg_Fetch_Object
pg_Fetch_Row
pg_FieldIsNull
pg_FieldName
pg_FieldNum
pg_FieldPrtLen
pg_FieldSize
pg_FieldType
pg_FreeResult
pg_GetLastOid
pg_Host
pg_loclose
pg_locreate
pg_loopen
pg_loread
pg_loreadall
pg_lounlink
pg_lowrite
pg_NumFields
pg_NumRows
pg_Options
pg_pConnect
pg_Port
pg_Result
pg_tty

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 6.3.2 is available at www.postgreSQL.org .

Since version 6.3 (03/02/1998) PostgreSQL use unix domain sockets, a table is given to this new 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 socket".

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

<?php $database = pg_Connect ("", "", "", "", "jacarta"); pg_exec ($database, "begin");     $oid = pg_locreate ($database);     echo ("$oid\n");     $handle = pg_loopen ($database, $oid, "w");     echo ("$handle\n");     pg_lowrite ($handle, "gaga");     pg_loclose ($handle); pg_exec ($database, "commit") pg_exec ($database, "end") ?>