Postgres
,
initialement
développé
au
département
de
Science
informatique
,
à
UC
Berkeley
,
mis
en
place
la
majorité
des
concepts
des
bases
relationnelles
,
actuellement
disponibles
sur
le
marché
.
PostgreSQL
accepte
le
langage
SQL92
/
SQL3
,
assure
l'
intégrité
transactionnelle
,
et
l
'extension
de
type
.
PostgreSQL
est
une
évolution
du
code
originale
de
Berkeley
:
il
est
Open
Source
et
dans
le
domaine
public
.
PostgreSQL
est
disponible
sans
frais
.
La
version
actuelle
est
disponible
à
(
en
anglais
)
:
www.PostgreSQL.org
.
Depuis
la
version
6.3
(
03
/
02
/
1998
)
PostgreSQL
utilise
les
sockets
UNIX
,
et
une
table
est
dédiée
à
ces
nouvelles
capacités
.
La
socket
est
située
dans
le
dossier
/
tmp
/
.s.PGSQL.5432
.
Cette
option
peut
être
activée
avec
'
-i
'
passé
au
postmaster
et
cela
s'interprète
:
"écoute
sur
les
sockets
TCP
/
IP
et
sur
les
sockets
Unix
"
.
Tableau
1
.
Postmaster
et
PHP
|
|
Statut
|
|
pg_connect(
"dbname=MonDbName")
;
|
|
|
pg_connect(
"dbname=MonDbName")
;
|
|
|
pg_connect(
"host=localhost
dbname=MonDbName")
;
|
Impossible
de
se
connecter
au
serveur
PostgreSQL
:
connectDB(
)
a
échoué
.
Est
ce
que
le
postmaster
fonctionne
,
et
accepte
les
TCP
/
IP
(
option
-i
)
sur
le
port
'5432
'
?
|
|
pg_connect(
"host=localhost
dbname=MonDbName")
;
|
|
Il
est
possible
de
se
connecter
avec
la
commande
suivante
:
$conn
=
pg_Connect(
"host=monHote
port=monPort
tty=monTTY
options=myOptions
dbname=myDB
user=myUser
password=myPassword")
;
L'
ancienne
syntaxe
:
$conn
=
pg_connect("host"
,
"port"
,
"options"
,
"tty"
,
"dbname"
)
est
obsolète
.
Pour
utiliser
l'
interface
des
grands
objets
(large
object
(lo
)
interface
)
,
il
est
nécessaire
de
les
placer
dans
un
bloc
de
transaction
.
Un
bloc
de
transaction
commence
avec
begin
et
si
la
transaction
se
termine
avec
un
commit
et
end
.
Si
la
transaction
échoue
,
elle
doit
être
conclue
par
un
abort
et
rollback
.
Exemple
1
.
Utilisation
des
objets
de
grande
taille
(
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"
)
?
|
|