Postgres, amit eredetileg a UC Berkeley Computer Science Department fejlesztett ki, úttörő volt az objektum-relációs adatmodellek területén, és most elérhetővé válik több kereskedelmi adatbázisban is. Támogatja az SQL92/SQL3 nyelv használatát, tranzakciók integritását és a típusok kiterjeszthetőségét. A PostgreSQL egy public-domain, nyílt forrású leszármazottja ennek az eredeti Berkeley kódnak.
A PostgreSQL ingyenes. A legújabb verzió a www.PostgreSQL.org címen érhető el.
A 6.3 verzió óta (03/02/1998) a PostgreSQL unix socketeket használ. A lenti táblázat mutatja az új kapcsolatteremtési lehetőségeket. Ez a socket a /tmp/.s.PGSQL.5432 néven érhető el. Ezt az opciót a postmaster parancs '-i' kapcsolójával érheted el, a jelentése pedig: "figyeld a TCP/IP socketeket is úgy, mint a unix socketeket".
Táblázat 1. Postmaster és a PHP
Postmaster | PHP | Állapot |
---|---|---|
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. vagyis: Nem lehet kapcsolódni a PostgreSQL szerverhez: a connectDB() hívás meghiúsult. Fut a postmaster, és fogadja a TCP/IP kapcsolatokat (-i) a helyi gépen az 5432-es porton? a /elérési_út/a/file.php3 a 20-as sorban |
postmaster -i & | pg_connect("localhost", "", "", "", "dbname"); | OK |
A következőképp is kezdhetsz kapcsolatot: $conn = pg_Connect("host=localhost port=5432 dbname=chris");
Annak érdekében, hogy használhassunk nagy objektum felületet (lo), szükséges az egészet egy tranzakciós blokkba foglalni. A tranzakciós blokk egy begin-nel kezdődik, és ha a tranzakció érvényes, egy commit-tal vagy egy end-del végződik. Ha a tranzakció meghiúsul, akkor rollback vagy abort paranccsal kell végződnie.