Postgres, originariamente sviluppato nel UC Berkeley Computer Science Department, è stato uno dei pionieri dei concetti object-relational che ora stanno diventando disponibili in alcuni database commerciali. Fornisce supporto al linguaggio SQL92/SQL3, all'integrità delle transazioni, e all'estensibilità del tipo. PostgreSQL è un discendente di dominio pubblico e Open Source di questo codice Berkeley originale.
PostgreSQL è disponibile senza alcun costo. La versione corrente è disponibile a www.PostgreSQL.org.
Fin dalla versione 6.3 (03/02/1998) PostgreSQL usa gli unix domain sockets. La tabella sottostante descrive queste nuove possibilità di connessione. Questo socket può essere trovato in /tmp/.s.PGSQL.5432. Questa opzione può venire abilitata con la flag '-i' a postmaster e il suo significato è: "ascolta sui sockets TCP/IP come sugli Unix domain sockets".
Tabella 1. Postmaster e PHP
Postmaster | PHP | Status |
---|---|---|
postmaster & | pg_connect("", "", "", "", "dbname"); | OK |
postmaster -i & | pg_connect("", "", "", "", "dbname"); | OK |
postmaster & | pg_connect("localhost", "", "", "", "dbname"); | Impossibile collegarsi al server PostgreSQL: connectDB() failed: Il postmaster è in esecuzione e accetta connessioni TCP/IP (con -i) a 'localhost' sulla porta '5432'? in /path/to/file.php3 sulla linea 20. |
postmaster -i & | pg_connect("localhost", "", "", "", "dbname"); | OK |
Si può anche stabilire una connessione con il seguete comando: $conn = pg_Connect("host=localhost port=5432 dbname=chris");
Per usare l'interfaccia large object (lo), è necessario includerla entro un blocco di una transazione. Un blocco di transazione inizia con un begin e se la transazione è stata valida termina con commit e end. Se la transazione fallisce, essa deve venire chiusa con rollback e abort.