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".
Postmaster | PHP | Statut |
|
postmaster & | pg_connect("dbname=MonDbName");
| OK |
|
postmaster -i & | pg_connect("dbname=MonDbName");
| OK |
|
postmaster & | pg_connect("host=localhost
dbname=MonDbName"); | Unable to connect to PostgreSQL server:
connectDB() failed: 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'?
|
|
postmaster -i & | pg_connect("host=localhost
dbname=MonDbName"); | OK |
|
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
.
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")
?>
9.68.1 pg_close
Termine une connexion PostgreSQL
boolean pg_close
(resource connection)
pg_close() retourne FALSE si
l'index de connexion n'est pas valable, et TRUE sinon.
pg_close() ferme la
connexion au serveur PostgreSQL
associé à connection.
Note :
Il n'est généralement pas nécessaire de fermer une
connexion
non persistante, car elles sont automatiquement fermées à
la fin
d'un script.
pg_close() ne ferme pas les
connexions persistantes
ouvertes avec pg_pconnect().
Retourne le nombre de tuples affectés
int pg_cmdtuples
(resource result_id)
pg_cmdtuples() retourne
le nombre de tuples (instances)
affectés par les requêtes INSERT, UPDATE, et DELETE. Si
aucun
tuple n'a été affecté, la fonction retournera
0.
pg_cmdtuples
<?php
$result = pg_exec($conn, "INSERT INTO verlag VALUES
('Auteur')");
$cmdtuples = pg_cmdtuples($result);
echo $cmdtuples . " <- tuples modifiés.";
?>
Voir aussi
pg_numfields() et
pg_numrows().
9.68.3
pg_connect
Ouvre une connexion
resource pg_connect
(string host, string port, string
dbname)
resource pg_connect (string
host, string port, string
options, string dbname)
resource pg_connect
(string host, string port,
string options, string tty, string
dbname)
resource pg_connect (string
conn_string)
pg_connect() retourne un
index de
connexion en cas de succès, et FALSE sinon.
pg_connect() ouvre une
connexion
à un serveur PostgreSQL. Les arguments doivent être
placé
entre guillemets.
Exemples avec pg_connect()<?php
$dbconn = pg_connect("dbname=marie");
//connexion à une base de données nommée
"marie"
$dbconn2 = pg_connect("host=localhost port=5432
dbname=marie");
//connexion à une base de données nommée
"marie" sur l'hôte "localhost" sur le port "5432"
$dbconn3 = pg_Connect ("host=sheep port=5432 dbname=marie
user=mouton password=baaaa");
//connexion à une base de données nommée
"marie" sur le serveur "mouton" avec
// un nom d'utilisateur et le mot de passe associé
?>
Les arguments disponibles comptent notamment dbname
port, host,
tty, options,
user, et password
pg_connect() retourne un
index de connexion qui sera
nécessaire aux autres fonctions PostgreSQL. Vous pouvez ouvrir
plusieurs connexions simultanées.
Si un deuxième appel à pg_connect() est fait avec
les mêmes arguments, aucune nouvelle connexion ne sera
établit, mais
la connexion précédente sera retournée.
L'ancienne syntaxe
$conn = pg_connect("host", "port", "options", "tty",
"dbname")
est obsolète.
Voir aussi
pg_pconnect().
9.68.4
pg_dbname
Nom de la base de données
string pg_dbname
(resource connection)
pg_dbname() retourne le
nom de la base de données
PostgreSQL associée à l'index de connexion connexion, ou
FALSE si connexion n'est pas valide.
9.68.5
pg_end_copy
Synchronise avec le serveur PostgreSQL
boolean pg_end_copy
(resource connection )
pg_end_copy()
synchronise le client PostgreSQL (ici PHP)
avec le serveur, après une opération de copie. Il faut
utiliser
cette fonction, sous peine de recevoir une erreur "out of sync"
(désynchronisé). pg_end_copy()
retourne TRUE en cas de succès, et
FALSE sinon.
Pour plus de détails et un exemple voyez :
pg_put_line().
9.68.6
pg_errormessage
Message d'erreur
string pg_errormessage
(resource connection)
pg_errormessage()
retourne une chaîne contenant
le dernier message d'erreur, ou FALSE
en cas d'échec. Il sera impossible d'obtenir des détails
sur
l'erreur générée, en utilisant la fonction
pg_errormessage() si
une erreur est survenue dans
la dernière action pour laquelle une connexion valide existe.
pg_errormessage()
retournera une chaîne contenant
le message d'erreur généré par le serveur
final.
9.68.7
pg_exec
Exécute une requête
resource pg_exec
(resource connection, string query)
pg_exec() retourne un index
de résultat,
si la requête a été correctement
exécutée,
et FALSE en cas d'échec, ou si
la connexion connection n'était pas un index de
connexion valide. En
cas d'erreur, le message d'erreur peut être obtenu grâce
à la
fonction pg_errormessage(), si
l'index de connexion
était valide. Envoie une requête à un serveur
PostgreSQL identifié grâce à l'index de connexion.
La
réponse retournée par cette fonction est un index de
résultat qui devra être utilisé pour accéder
aux lignes de résultat, grâce à d'autres
fonctions PostgreSQL.
Note :
PHP/FI retournait 1 lorsque la requête n'attendait pas de
données en réponse (insertion, modifcations, par exemple),
et retournait un nombre plus grand que 1, même sur un select qui
donnait un ensemble vide. Ce n'est plus le cas.
9.68.8
pg_fetch_array
Lit une ligne dans un tableau
array pg_fetch_array
(resource result, int row, int
result_type )
pg_fetch_array()
retourne un tableau qui contient
à la ligne demandée, dans le résultat
identifiée
par result, et FALSE , s'il ne
reste plus de lignes.
pg_fetch_array() est
une version évoluée de
pg_fetch_row(). En plus
de proposer un tableau à
indice numérique, elle peut aussi enregistrer les données
dans un tableau associatif, en utilisant les noms des champs comme
clés.
L'argument optionnel result_type de
pg_fetch_array() est
une constante, qui peut prendre les
valeurs suivantes : PGSQL_ASSOC, PGSQL_NUM, et PGSQL_BOTH.
Note :
result_type a été ajoutée en
PHP 4.0.
Il est important de noter que pg_fetch_array() n'est
pas
significativement plus lent que pg_fetch_row(), tandis
qu'elle fournit un confort d'utilisation notable.
Pour plus de détails, reportez-vous à
pg_fetch_row().
PostgreSQL fetch array<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "Erreur de connexion.\n";
exit;
}
$result = pg_exec($conn, "SELECT * FROM authors");
if (!$result) {
echo "Erreur durant la requete.\n";
exit;
}
$arr = pg_fetch_array($result, 0);
echo $arr[0] . " <- array\n";
$arr = pg_fetch_array($result, 1);
echo $arr["author"] . " <- array\n";
?>
9.68.9
pg_fetch_object
Lit une ligne dans un objet
object pg_fetch_object
(resource result, int row, int
result_type )
pg_fetch_object()
retourne un objet dont les
membres sont les champs de la ligne demandée, ou
FALSE , s'il n'y a plus de lignes.
pg_fetch_object()
est similaire à
pg_fetch_array(),
avec une différence majeure :
c'est un objet qui est retourné, au lieu d'un tableau. Par
conséquent, cela signifie que vous ne pouvez accéder aux
membres qu'avec leur nom, et non plus leur offset
(les nombres ne sont pas autorisés comme nom de membre).
L'argument optionnel result_type de
result_type est une constante qui peut prendre les
valeurs suivantes : PGSQL_ASSOC, PGSQL_NUM, et PGSQL_BOTH.
Note :
result_type a été ajouté dans
PHP 4.0.
Au niveau vitesse, pg_fetch_object() est
aussi rapide que
pg_fetch_row() et
presque aussi rapide que
pg_fetch_row() (la
différence est non significative).
Voir aussi
pg_fetch_array() et
pg_fetch_row().
Lecture d'un objet Postgres<?php
$database = "verlag";
$db_conn = pg_connect("host=localhost port=5432
dbname=$database");
if (!$db_conn):
?>
<H1>Connexion impossible à la base postgres
<?php echo $database ></H1> <?php
exit;
endif;
$qu = pg_exec($db_conn, "SELECT * FROM verlag ORDER BY autor");
$row = 0; // postgres réclame un compteur de ligne, d'autres
bases ne le font pas.
while ($data = pg_fetch_object($qu, $row)):
echo $data->autor." (";
echo $data->jahr ."): ";
echo $data->titel."<BR>";
$row++;
endwhile;
?>
<PRE><?php
$fields[] = array("autor", "Author");
$fields[] = array("jahr", " Year");
$fields[] = array("titel", " Title");
$row= 0; // Postgres réclame un compteur de ligne, d'autres
bases ne le font pas.
while ($data = pg_fetch_object($qu, $row)):
echo "----------\n";
reset($fields);
while (list(,$item) = each($fields)):
echo $item[1].": ".$data->$item[0]."\n";
endwhile;
$row++;
endwhile;
echo "----------\n";
?>
</PRE>
<?php
pg_freeresult($qu);
pg_close($db_conn);
?>
9.68.10
pg_fetch_row
Lit une ligne dans un tableau
array pg_fetch_row
(resource result, int row)
pg_fetch_row() retourne
un tableau qui contient
les données de la ligne demandée, ou
FALSE , s'il ne reste plus de lignes.
pg_fetch_row() lit une
ligne dans le résultat
associé à l'index result. La ligne est
retournée sous la forme d'un tableau. La ligne est
retournée
sous la forme d'un tableau, qui commence à l'index 0.
Les appels ultérieurs à pg_fetch_row()
retourneront la ligne d'après, ou bien FALSE,
lorsqu'il n'y aura plus de lignes.
Voir aussi: pg_fetch_array(),
pg_fetch_object() et
pg_result().
Postgres retourne une ligne<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "Une erreur est survenue.\n";
exit;
}
$result = pg_exec($conn, "SELECT * FROM authors");
if (!$result) {
echo "Une erreur est survenue.\n";
exit;
}
$num = pg_numrows($result);
for ($i=0; $i<$num; $i++) {
$r = pg_fetch_row($result, $i);
for ($j=0; $j<count($r); $j++) {
echo "$r[$j] ";
}
echo "<br>";
}
?>
9.68.11
pg_fieldisnull
Teste si un champs est à NULL
int pg_fieldisnull
(resource result_id, int row,
mixed field)
pg_fieldisnull()
teste si un champs est à
NULL. pg_fieldisnull()
retourne 0 si le champs n'est
pas NULL. pg_fieldisnull()
retourne 1 si le champs est
à NULL. Le champs peut être identifié avec son nom
ou
son index numérique (commençant à 0).
9.68.12
pg_fieldname
Retourne le nom d'un champs
string pg_fieldname
(resource result_id, int
field_number)
pg_fieldname() va
retourne le nom du champs qui occupe la
colonne numéro field_number dans le
résultat result_id. La numérotation
des champs commence à 0.
9.68.13
pg_fieldnum
Retourne le numéro d'une colonne
int pg_fieldnum
(resource result_id, string
field_name)
pg_fieldnum() retourne
le numéro de la colonne,
dont le nom est field_name, dans le résultat
result_id. La numérotation des champs commence
à 0. Cette fonction retournera -1 en cas d'erreur.
9.68.14
pg_fieldprtlen
Retourne la taille imprimée
int pg_fieldprtlen
(resource result_id, int
row_number, string field_name)
pg_fieldprtlen()
retourne la taille imprimée
(nombre de caractères) d'une valeur donnée dans un
résultat PostgreSQL. La numérotation des lignes commence
à 0. Cette fonction retourne -1 en cas d'erreur.
9.68.15
pg_fieldsize
Retourne la taille interne de stockage d'un champs
donné.
int pg_fieldsize
(resource result_id, int
field_number)
pg_fieldsize() retourne
la taille interne de stockage
d'un champs donné, en octets. pg_fieldsize()
retourne -1 si la taille est variable. pg_fieldsize()
retourne FALSE en cas d'erreur. La numérotation
des colonnes commence à 0.
9.68.16
pg_fieldtype
Retourne le type d'un champs donné par index.
string pg_fieldtype
(resource result_id, int
field_number)
pg_fieldtype() retourne
une chaîne contenant
le type du champs donné par son index field_number . La
numérotation des champs commence à 0.
9.68.17
pg_freeresult
Libère la mémoire
int pg_freeresult
(resource result_id)
pg_freeresult() n'est
vraiment utile que si vous risquez
d'utiliser trop de mémoire durant votre script. La mémoire
occupée par les résultats est automatiquement
libérée à la fin du script. Mais, si vous
êtes
sûr de ne pas avoir besoin du résultat
ultérieurement,
vous pouvez appeler pg_freeresult() avec
l'index de
résultat comme argument, et la mémoire sera
libérée.
9.68.18
pg_getlastoid
Retourne le dernier identifiant d'objet
resource pg_getlastoid
(resource result_id)
pg_getlastoid() sert
à lire l'Oid assigné
à un tuple inséré, si l'index de résultat a
été obtenu avec la fonction pg_exec(),
dont la requête était exclusivement SQL INSERT. Cette
fonction
retourne un entier positif si un Oid valide a été
trouvé.
Elle retournera -1 si une erreur est survenue, ou si la dernière
commande n'était pas un INSERT.
9.68.19
pg_host
Retourne le nom d'hôte
string pg_host
(resource connection_id)
pg_host() retourne le nom
d'hôte associé
à l'index de connexion PostgreSQL.
9.68.20
pg_loclose
Ferme un objet de grande taille
void pg_loclose
(resource fd)
pg_loclose() ferme un
objet de type Inversion Large Object.
fd est un descripteur de fichier, obtenu avec
pg_loopen().
9.68.21
pg_locreate
Crée un objet de grande taille
resource pg_loimport
(resource conn)
pg_locreate()
crée un objet de type Inversion
Large Object et retourne son Oid. conn doit être
une connexion valide avec une base de données PostgreSQL. Les
modes
d'accès PostgreSQL INV_READ, INV_WRITE, et INV_ARCHIVE ne sont
pas
supportés : l'objet peut toujours être créé,
avec
des droits d'accès en lecture et écriture. Le mode
INV_ARCHIVE
a été supprimé des bases PostgreSQL (version 6.3 et
ultérieur).
9.68.22
pg_loexport
Exporte un objet de grande taille vers un
fichier
boolean pg_loexport
(resource oid , int
file , resource
connection_id )
pg_loexport() exporte un
objet de grande taille
dans un fichier. oid est un identifiant d'objet de
grande taille
qui sera exporté dans le fichier filename, qui
spécifie son chemin. pg_loexport() retourne
FALSE si une erreur survient,
et TRUE en cas de succès.
N'oubliez pas que la manipulation d'un objet de grande taille
dans PostgreSQL doit intervenir dans une transaction.
9.68.23
pg_loimport
Importe un objet de grande taille depuis un
fichier
resource pg_loimport
(int file , resource
connection_id )
filename est le chemin jusqu'à un fichier
qui servira de source pour créer un objet de grande taille.
La fonction retourne FALSE en cas d'erreur, et sinon
un identifiant d'objet, créé directement à la
bonne taille.
N'oubliez pas que la manipulation d'un objet de grande taille
dans PostgreSQL doit intervenir dans une transaction.
9.68.24
pg_loopen
Ouvre un objet de grande taille
int pg_loopen
(resource conn, resource objoid,
string mode)
pg_loopen() ouvre un objet
de type Inversion Large Object
et retourne un descripteur de fichier pour cet objet. Le descripteur de
fichier
contient les informations de connexion. Ne refermez pas la connexion
avant
d'avoir fermé l'objet. objoid est un Oid valide
de
Large Object, et mode peut prendre es valeurs suivantes
: "r", "w", ou "rw".
9.68.25
pg_loread
Lit un objet de grande taille
string pg_loread
(resource loid, int len)
pg_loread() lit au plus
len octets
d'un objet de grande taille, et retourne les données sous la
forme
d'une chaîne. loid est un identifiant valide
d'objet de grande taille, et len indique la taille
maximale de mémoire alloué à l'objet de grande
taille.
9.68.26
pg_loreadall
Lit un objet de grande taille en
totalité
void pg_loreadall
(resource fd)
pg_loreadall() lit un
objet de grande taille en
totalité et le passe directement au client, après les
en-têtes adéquates. Cette fonction est prévue
pour transmettre des sons ou des images.
9.68.27
pg_lounlink
Efface un objet de grande taille
void pg_lounlink
(resource conn, resource lobjid)
pg_lounlink() efface
l'objet de grande taille dont
l'identifiant est lobjid.
9.68.28
pg_lowrite
Ecrit un objet de grande taille
int pg_lowrite
(resource fd, string buf)
pg_lowrite() écrit
dans l'objet de grande
taille autant de données possible, issues de la variable
buf et retourne le nombre d'octets
réellement écrits, ou FALSE en cas d'erreur.
fd est un descripteut d'objet de grande taille,
obtenu avec pg_loopen().
9.68.29
pg_numfields
Retourne le nombre de champs
int pg_numfields
(resource result_id)
pg_numfields() retourne
le nombre de champs ou
(colonnes) d'un résultat PostgreSQL. L'argument doit être
un identifiant de résultat valide retourné par
pg_exec(). Cette fonction
retournera -1 en cas d'erreur.
Voir aussi pg_numrows()
et
pg_cmdtuples().
9.68.30
pg_numrows
Retourne le nombre de lignes
int pg_numrows
(resource result_id)
pg_numrows() retourne le
nombre de lignes
d'un résultat PostgreSQL. L'argument doit être un
identifiant de résultat valide retourné par
pg_exec(). Cette fonction
retournera -1 en cas d'erreur.
Voir aussi
pg_numfields() et
pg_cmdtuples().
9.68.31
pg_options
Retourne les options
string pg_options
(resource connection_id)
pg_options() retourne une
chaîne contenant
les options de la connexion PostgreSQL.
9.68.32
pg_pconnect
Etablit une connexion persistante.
int pg_pconnect
(string conn_string)
pg_pconnect() retourne
un index de connexion
en cas de succès, ou FALSE en cas d'erreur.
pg_pconnect() ouvre une
connexion permanente à
une base PostgreSQL. Les arguments doivent être
insérés
dans une chaîne à guillemets. Ils incluent :
host,
port, tty,
options, dbname,
user et password.
pg_pconnect() retourne
un indentifiant de
connexion qui sera utilisées par les autres fonctions PostgreSQL.
Vous pouvez ouvrir plusieurs connexions en même temps.
L'ancienne syntaxe
$conn = pg_pconnect("host", "port", "options", "tty",
"dbname")
est obsolète.
9.68.33
pg_port
Retourne le numéro de port
int pg_port (resource
connection_id)
pg_port() retourne le
numéro de port de
la connexion identifiée connection_id.
9.68.34
pg_put_line
Envoie une chaîne au serveur PostgreSQL
boolean pg_put_line
(resource connection_id ,
string data)
pg_put_line() envoie une
chaîne (terminée
par NULL) au serveur PostgreSQL. Ceci est pratique pour effectuer
des insertions très rapides dans une table, initiée par
une
opération de copie PostgreSQL copy-operation. Le
caractère final
NULL est automatiquement ajouté. pg_put_line()
retourne TRUE en cas de succès, et
FALSE.
Note :
Notez que l'application doit explicitement ajouter les deux
caractères
"\." à la fin de la chaîne pour indiquer au serveur
qu'elle a finit
d'envoyer des données.
Voir aussi pg_end_copy().
Insertion à grande vitesse dans une
table<?php
$conn = pg_pconnect("dbname=foo");
pg_exec($conn, "create table bar (a int4, b char(16), d
float8)");
pg_exec($conn, "copy bar from stdin");
pg_put_line($conn, "3\tBonjour le monde\t4.5\n");
pg_put_line($conn, "4\tAu revoir le monde\t7.11\n");
pg_put_line($conn, "\\.\n");
pg_end_copy($conn);
?>
9.68.35
pg_result
Retourne les valeurs d'un identifiant de
résultat
mixed pg_result
(resource result_id, int row_number,
mixed fieldname)
pg_result() retourne les
valeurs d'un identifiant de
résultat, produit par pg_exec(). Les arguments
row_number et fieldname
précisent la cellule qui sera retournée. La
numérotation
des lignes commence à 0. Au lieu d'utiliser le nom du champs,
vous
pouvez utiliser son index, sous la forme d'un nombre sans guillemets. La
numérotation des champs commence à 0.
PostgreSQL dispose de nombreux types, et seuls, les types basiques sont
supportés ici. Toutes les formes d'entier, booléen et Oid
sont retournés sous la forme d'entiers. Toutes les formes de
nombre
à virgule flottante et types réels sont retournés
sous
la forme d'une valeur de type double. Tous les autres types, y compris
les
tableaux, sont retournés sous la forme de chaînes
formatées,
au format par défaut de PostgreSQL.
9.68.36
pg_set_client_encoding
Choisit l'encodage du client
int pg_set_client_encoding
(resource connection
, string encoding)
pg_set_client_encoding()
fixe l'encodage du client.
Elle retourne 0 en cas de succès, et -1 sinon.
encoding est l'encodage du client, et peut être
SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE,
MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT,
SJIS, BIG5, WIN1250.
Note :
Cette fonction requiert PHP-4.0.2 ou plus récent et
PostgreSQL-7.0 ou
plus récent.
Jadis, pg_set_client_encoding()
s'appelait
pg_setclientencoding().
Voir aussi pg_client_encoding().
9.68.37
pg_client_encoding
Lit l'encodage du client
string pg_client_encoding
(resource connection )
pg_client_encoding()
retourne l'encodage du client.
Elle retourne une des valeurs suivantes :
SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE,
MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT,
SJIS, BIG5, WIN1250.
Note :
Cette fonction requiert PHP-4.0.2 ou plus récent et
PostgreSQL-7.0 ou
plus récent.
Jadis, pg_client_encoding()
s'appelait
pg_clientencoding().
Voir aussi pg_set_client_encoding().
9.68.38
pg_trace
Active le suivi d'une connexion PostgreSQL
boolean pg_trace
(string filename , string
mode , resource
connection )
pg_trace() active le suivi
des communications entre PHP et
le serveur PostgreSQL. Cet historique sera enregistré dans un
fichier.
Pour comprendre ces lignes, il faut être familier avec le
protocole
de communication interne à PostgreSQL. Pour ceux qui le ne sont
pas,
elles peuvent être utiles pour suivre les requêtes et les
erreurs :
avec la commande grep '^To backend' trace.log
, vous
pourrez voir les requêtes réellement envoyées au
serveur PostgreSQL.
filename et mode
sont les mêmes arguments que pour la fonction fopen()
(mode par défaut à 'w'),
connection indique la connexion à suivre.
Par défaut, c'est la dernière ouverte.
pg_trace() retourne TRUE si
filename a pu être ouvert en
écriture, et FALSE sinon.
Voir aussi
fopen() et
pg_untrace().
9.68.39
pg_tty
Retourne le nom de tty
string pg_tty (resource
connection_id)
pg_tty() retourne le nom de
tty de la connexion
associée à connection_id.
9.68.40
pg_untrace
Termine le suivi d'une connexion PostgreSQL
boolean pg_untrace
(resource connection )
pg_untrace() termine le
suivi d'une connexion
PostgreSQL, initiée avec pg_trace().
connection indique la connexion à
suivre. Par défaut, c'est la dernière ouverte.
pg_untrace() retourne
toujours TRUE.
Voir aussi
pg_trace().