Manuel PHP

Précédent

 

Suivant

XLII. Fonctions PostgreSQL

Postgres, initialement développé au département de Science informatique, à UC Berkeley, mis en place la majorité des concepts de base relationnelle, 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'interprete: "écoute sur les sockets TCP/IP et sur les sockets Unix ".

Table 1. Postmaster et PHP

Postmaster

PHP

Status

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.

: 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'? dans /path/to/file.php3, ligne 20 ?

postmaster -i &

pg_connect("localhost", "", "", "", "dbname");

OK

Il est possible de se connecter avec la commande suivante : $conn = pg_Connect("host=localhost port=5432 dbname=chris");

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 de avec un commit et end. Si la transaction échoue, elle doit être conclue par un abort et rollback.

Example 1. Using 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 of Contents
pg_Close _ Termine une connexion PostgreSQL
pg_cmdTuples _ Retourne le nombre de tuples affectés
pg_Connect _ Ouvre une connexion
pg_DBname _ Nom de la base de données
pg_ErrorMessage _Message d'erreur
pg_Exec _ Exécute une requête
pg_Fetch_Array _ Lit une ligne dans un tableau
pg_Fetch_Object _ Lit une ligne dans un objet
pg_Fetch_Row _ Lit une ligne dans un tableau énuméré
pg_FieldIsNull _ Teste si un champs est à NULL
pg_FieldName _ Retourne le nom d'un champs
pg_FieldNum _ Retourne le numéro d'une colonne
pg_FieldPrtLen _ Retourne la taille imprimée
pg_FieldSize _ Retourne la taille interne de stockage d'un champs donné
pg_FieldType _ Retourne le type d'un champs donné par index
pg_FreeResult _ Libère la mémoire
pg_GetLastOid _ Retourne le dernier identifiant d'objet
pg_Host _ Retourne le nom d'hôte
pg_loclose _ Ferme un objet de grande taille
pg_locreate _ Crée un objet de grande taille
pg_loopen _ Ouvre un objet de grande taille
pg_loread _ Lit un objet de grande taille
pg_loreadall _ Lit un objet de grande taille en totalité
pg_lounlink _ Efface un objet de grande taille
pg_lowrite _ Ecrit un objet de grande taille
pg_NumFields _ Retourne le nombre de champs
pg_NumRows _ Retourne le nombre de lignes
pg_Options _ Retourne les options
pg_pConnect _ Etablit une connexion persistante
pg_Port _ Retourne le numéro de port
pg_Result _ Retourne les valeurs d'un identifiant de résultat.
pg_tty _ Retourne le nom de tty

Précédent

Sommaire

Suivant

pdf_add_annotation

Chapitre

pg_Close