XLVIII. Funzioni PostgreSQL
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.
Esempio 1. Utilizzare 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");
?>
|
|