LXXXI. PostgreSQL

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"

 
)

 
?





Table des matières
pg_affected_rows -- Retourne le nombre de lignes affectées
pg_cancel_query -- Annule une requête asynchrone
pg_client_encoding -- Lit l'encodage du client
pg_Close -- Termine une connexion PostgreSQL.
pg_connect -- Ouvre une connexion.
pg_connection_busy -- Vérifie si la connexion est occupée
pg_connection_reset -- Reconnecte au serveur PostGresSQL
pg_connection_status -- Lit le statut de la connexion
pg_convert -- Convertit un tableau associatif en une commande SQL
pg_copy_from -- Insère des lignes dans une table à partir d'un tableau
pg_copy_to -- Copie une table dans un tableau
pg_DBname -- Nom de la base de données.
pg_delete -- Efface des lignes
pg_end_copy -- Synchronise avec le serveur PostgreSQL
pg_escape_bytea -- Protège le caractères d'une chaîne binaire en mode bytea
pg_escape_string -- Protège une chaîne de caractères
pg_fetch_all -- Lit toutes les lignes d'un résultat
pg_Fetch_Array -- Lit une ligne dans un tableau.
pg_fetch_assoc -- Lit une ligne sous forme de tableau
pg_Fetch_Object -- Lit une ligne dans un objet.
pg_fetch_result -- Retourne les valeurs d'un résultat
pg_Fetch_Row -- Lit une ligne dans un tableau.
pg_field_is_null -- Teste si un champs est à NULL .
pg_field_Name -- Retourne le nom d'un champs.
pg_field_Num -- Retourne le numéro d'une colonne.
pg_field_PrtLen -- Retourne la taille imprimée.
pg_field_Size -- Retourne la taille interne de stockage d'un champs donné.
pg_field_Type -- Retourne le type d'un champs donné par index.
pg_Free_Result -- Libère la mémoire
pg_get_notify -- Lit le message de NOTIFY
pg_get_pid -- Lit l'identifiant de processus du serveur
pg_get_result -- Lit un résultat asynchrone
pg_Host -- Retourne le nom d'hôte.
pg_insert -- Insère un tableau dans une table
pg_last_error -- Lit le dernier message d'erreur sur la connexion
pg_last_notice -- Retourne la dernière note du serveur PostgreSQL.
pg_last_oid -- Retourne l'identifiant du dernier objet
pg_lo_close -- Ferme un objet de grande taille.
pg_lo_create -- Crée un objet de grande taille.
pg_lo_export -- Exporte un objet de grande taille vers un fichier
pg_lo_import -- Importe un objet de grande taille depuis un fichier
pg_lo_open -- Ouvre un objet de grande taille.
pg_lo_read_all -- Lit un objet de grande taille en totalité.
pg_lo_read -- Lit un objet de grande taille.
pg_lo_seek -- Modifie la position dans un objet de grande taille
pg_lo_tell -- Retourne la position courante dans un objet de grande taille
pg_lo_unlink -- Efface un objet de grande taille
pg_lo_write -- Ecrit un objet de grande taille
pg_meta_data -- Lit les données méta de la table
pg_Num_Fields -- Retourne le nombre de champs
pg_num_rows -- Retourne le nombre de lignes
pg_Options -- Retourne les options.
pg_pConnect -- Etablit une connexion persistante.
pg_ping -- Pingue la connexion à la base
pg_Port -- Retourne le numéro de port.
pg_put_line -- Envoie une chaîne au serveur PostgreSQL
pg_query -- Exécute une requête
pg_result_error -- Lit le message d'erreur associé à un résultat
pg_result_seek -- Modifie la ligne courant dans un résultat
pg_result_status -- Lit le statut du résultat
pg_select -- Effectue une selection
pg_send_query -- Exécute une requête asynchrone
pg_set_client_encoding -- Choisit l'encodage du client
pg_trace -- Active le suivi d'une connexion PostgreSQL
pg_tty -- Retourne le nom de tty.
pg_unescape_bytea -- Supprime le protection d'une chaîne de type bytea
pg_untrace -- Termine le suivi d'une connexion PostgreSQL
pg_update -- Modifie les lignes d'une table