Services webmasters
Partenaires
Jeux concours gratuits
 
Configuration à l'exécution
<<<
Trucs et astuces d'utilisation Constantes prédefinies
>>>

7.82 PostgreSQL
7 Index des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
->Trucs et astuces d'utilisation
Constantes prédefinies
Exemples
pg_affected_rows
pg_cancel_query
pg_client_encoding
pg_close
pg_connect
pg_connection_busy
pg_connection_reset
pg_connection_status
pg_convert
pg_copy_from
pg_copy_to
pg_dbname
pg_delete
pg_end_copy
pg_escape_bytea
pg_escape_string
pg_fetch_all
pg_fetch_array
pg_fetch_assoc
pg_fetch_object
pg_fetch_result
pg_fetch_row
pg_field_is_null
pg_field_name
pg_field_num
pg_field_prtlen
pg_field_size
pg_field_type
pg_free_result
pg_get_notify
pg_get_pid
pg_get_result
pg_host
pg_insert
pg_last_error
pg_last_notice
pg_last_oid
pg_lo_close
pg_lo_create
pg_lo_export
pg_lo_import
pg_lo_open
pg_lo_read_all
pg_lo_read
pg_lo_seek
pg_lo_tell
pg_lo_unlink
pg_lo_write
pg_meta_data
pg_num_fields
pg_num_rows
pg_options
pg_pconnect
pg_ping
pg_port
pg_put_line
pg_query
pg_untrace
pg_update

7.82.5 Trucs et astuces d'utilisation

Attention

Utiliser le module PostgreSQL avec PHP 4.0.6 n'est pas recommandé à cause d'un bug dans le gestionnaire d'alerte. Utilisez plutôt la version 4.1.0 ou plus récent.

Attention

Le nom des fonctions PostgreSQL va changer dans la version 4.2.0 pour prendre en compte les standards actuels de programmation. La plupart des nouveaux noms recevront des soulignés, comme par exemple pg_lo_open(). Certaines fonctions sont renommées différemment, comme par exemple pg_exec() en pg_query(). Les anciens noms sont toujours utilisés pour encore quelques versions, mais ils seront bientôt supprimés définitivement.

Ancien nom Nouveau nom
pg_exec pg_query
pg_getlastoid pg_last_oid
pg_cmdtuples pg_affected_rows
pg_numrows pg_num_rows
pg_numfields pg_num_fields
pg_fieldname pg_field_name
pg_fieldsize pg_field_size
pg_fieldnum pg_field_num
pg_fieldprtlen pg_field_prtlen
pg_fieldisnull pg_field_is_null
pg_freeresult pg_free_result
pg_result pg_fetch_result
pg_loreadall pg_lo_read_all
pg_locreate pg_lo_create
pg_lounlink pg_lo_unlink
pg_loopen pg_lo_open
pg_loclose pg_lo_close
pg_loread pg_lo_read
pg_lowrite pg_lo_write
pg_loimport pg_lo_import
pg_loexport pg_lo_export

Les anciennes syntaxes de pg_connect / pg_pconnect seront rendues obsolètes pour supporter les nouvelles connexions asynchrones. Utilisez la chaîne de connexion avec pg_connect et pg_pconnect .

Toutes les fonctions ne sont pas supportées par toutes les compilations. Cela dépend de votre librairie libpq (la librairie C client de PostgreSQL), et comment libq est compilé. Si il y a des fonctions qui manquent, libpq ne supporte par la fonctionnalité sur laquelle reposait la fonction n'est pas disponible.

Il est aussi important que vous utilisiez une version de libpq qui soit plus récente que le serveur sur lequel vous vous connectez. Si vous utilisez une version de libq plus ancienne que le serveur, vous aurez des problèmes.

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.

Les variables environnementales affecent le comportement de PostgreSQL. Par exemple, le module PostgreSQL va rechercher PGHOST dans les variables d'environnement, si le nom du serveur hôte est omis dans la chaîne de connexion. Les variables d'environnement supportées sont différentes suivant les versions. Reportez vous au manuel du programmeur PostgreSQL (libpq - Environment Variables) pour plus de détails.

Assurez vous que vous avez bien configuré vos variables d'environnement pour le bon utilisateur. Utilisez $_ENV ou getenv pour vérifier quelles variables d'environnement sont disponibles pour le processus courant.

Configuration par défaut des paramètres

PGHOST=pgsql.example.com
PGPORT=7890
PGDATABASE=web-system
PGUSER=web-user
PGPASSWORD=secret
PGDATESTYLE=ISO
PGTZ=JST
PGCLIENTENCODING=EUC-JP

export PGHOST PGPORT PGDATABASE PGUSER PGPASSWORD PGDATESTYLE PGTZ PGCLIENTENCODING

<< Trucs et astuces d'utilisation >>
Configuration à l'exécution PostgreSQL Constantes prédefinies
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -