Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 86405 Details for
Bug 132638
[fr] New translation: /doc/fr/postgres-howto.xml
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
postgres-howto.xml translated to french
postgres-howto.xml (text/plain), 26.43 KB, created by
alexandre
on 2006-05-07 20:01:09 UTC
(
hide
)
Description:
postgres-howto.xml translated to french
Filename:
MIME Type:
Creator:
alexandre
Created:
2006-05-07 20:01:09 UTC
Size:
26.43 KB
patch
obsolete
><?xml version="1.0" encoding="UTF-8"?> ><!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> ><!-- $Header: /var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/en/postgres-howto.xml,v 1.2 2006/03/16 21:25:36 neysx Exp $ --> > ><guide link="/doc/fr/postgres-howto.xml" lang="fr"> ><title>Guide PostgreSQL</title> > ><author title="Author"> > <mail link="chriswhite@gentoo.org">Chris White</mail> ></author> ><author title="Editor"> > <mail link="neysx@gentoo.org">Xavier Neys</mail> ></author> ><author title="Traducteur">tutux</author> > ><abstract> >L'objectif de ce guide est de présenter une installation rudimentaire de PostgreSQL. L'installation décrite ici devrait être suffisante pour un usage standard d'application web ou tout autre programme fournissant un support PostgreSQL. ></abstract> > ><!-- The content of this document is licensed under the CC-BY-SA license --> ><!-- See http://creativecommons.org/licenses/by-sa/2.5 --> ><license/> > ><version>1.0</version> ><date>2006-05-07</date> > ><chapter> ><title>Introduction</title> ><section> ><title>Introduction à PostgreSQL</title> ><body> > ><p> >Si vous demandez à un développeur quel Système de Gestion de Base de Données (SGBD) utiliser, il y a de fortes chances qu'il vous parle de deux SGBD majeurs. L'un est <c>MySQL</c> et l'autre est celui qui fait l'objet de ce guide : <c>PostgreSQL</c>. Les avantages de l'un par rapport à l'autre ont déjà fait l'objet de longs débats, néanmoins, il est juste de dire que PostgreSQL implémente plus strictement que MySQL une réelle structure de base de données relationnelle. La plupart des fonctionnalités de base, telles que la <b>CLEF ÃTRANGÃRE</b> (FOREIGN KEY) n'ont été ajoutées à MySQL qu'à partir de sa version 5. Quoi qu'il en soit, dans ce document nous supposons que vous avez déjà porté votre choix sur PostgreSQL. <c>emerge</c> sera la première étape. Dans la section suivante, le processus d'installation par emerge sera décrit, ainsi que la configuration de base. ></p> > ></body> ></section> ><section> ><title>Installation de PostgreSQL</title> ><body> > ><p> >Pour commencer, nous devons procéder à l'installation du paquet PostgreSQL. Pour ce faire, exécutez le code suivant, afin de vous assurer que les options sont correctement réglées : ></p> > ><pre caption="Vérification des options « build Â» de PostgreSQL"> ># <i>emerge -pv postgresql</i> > >These are the packages that I would merge, in order: > >Calculating dependencies ...done! >[ebuild N ] dev-db/postgresql-8.0.4 -doc -kerberos +libg++ +nls +pam +perl >-pg-hier -pg-intdatetime +python +readline (-selinux) +ssl -tcltk +xml2 +zlib 0 kB ></pre> > ><p> >Voici une liste de ce que les différentes options « build Â» signifient : ></p> > ><table> ><tr> > <th>USE Flag</th> > <th>Signifie</th> ></tr> ><tr> > <ti>doc</ti> > <ti> >Ce USE flag active ou désactive l'installation de la documentation en sus des pages man standard. La seule raison valable de désactiver cette option est le manque d'espace ou si vous avez accès à cette documentation par d'autres méthodes (en ligne, etc.) > </ti> ></tr> ><tr> > <ti>kerberos</ti> > <ti> >Avec cette option activée, l'administrateur a la possibilité d'utiliser <c>kerberos</c> pour l'authentification des utilisateurs/services d'une base de données. > </ti> ></tr> ><tr> > <ti>libg++</ti> > <ti> >Si cette option est activée, les ligatures (bindings) C++ pour PostgreSQL seront construites. Cela créera libpq++ dont les programmes C++ se serviront pour la liaison. > </ti> ></tr> ><tr> > <ti>nls</ti> > <ti> >Si cette option est activée, PostgreSQL peut utiliser des chaînes de caractères traduites pour les utilisateurs non anglophones. > </ti> ></tr> ><tr> > <ti>pam</ti> > <ti> >Si cette option est activée, et que l'administrateur configure le fichier de configuration de PostgreSQL correctement, les utilisateurs/services pourront se connecter à une base de données PostgreSQL en utilisant <c>PAM</c> (Pluggable Authentication Module - Module d'authentification « grefable Â»). > </ti> ></tr> ><tr> > <ti>perl</ti> > <ti> > Si cette option est activée, les ligatures (bindings) pour <c>perl</c> seront construites. > </ti> ></tr> ><tr> > <ti>pg-hier</ti> > <ti> >Si cette option est activée, un correctif sera appliqué pour permettre les requêtes hiérarchiques, telles que celles que l'on peut voir avec l'instruction <c>CONNECT</c> des serveurs de base de données <c>Oracle</c>. Des informations supplémentaires sur les requêtes hiérarchiques peuvent se trouver ici : <uri > link="http://www.lc.leidenuniv.nl/awcourse/oracle/server.920/a96540/ > queries4a. htm">Oracle Reference Guide</uri> (en anglais). > </ti> ></tr> ><tr> > <ti>pg-intdatetime</ti> > <ti> >Si cette option est activée, PostgreSQL supportera le type de donnée « date Â» en 64 bit. > </ti> ></tr> ><tr> > <ti>python</ti> > <ti> >Si cette option est activée, PostgreSQL sera construit avec les ligatures (bindings) <c>python</c>. > </ti> ></tr> ><tr> > <ti>readline</ti> > <ti> >Si cette option est activée, PostgreSQL supportera l'édition des commandes en se conformant au style <c>readline</c>. Cela inclut l'historique des commandes et isearch. > </ti> ></tr> ><tr> > <ti>selinux</ti> > <ti> >Si cette option est activée, une politique <c>selinux</c> pour PostgreSQL sera installée. > </ti> ></tr> ><tr> > <ti>ssl</ti> > <ti> >Si cette option est activée, PostgreSQL utilisera la librairie <c>OpenSSL</c> pour crypter le traffic entre les clients et serveurs PostreSQL. > </ti> ></tr> ><tr> > <ti>tcltk</ti> > <ti> >Si cette option est activée, les ligatures (bindings) <c>tcl/tk</c> pour PostgreSQL seront construites. > </ti> ></tr> ><tr> > <ti>xml2</ti> > <ti> >Si cette option est activée, le support du style <c>XPATH</c> de xml sera construit. >Des informations supplémentaires sur le support de xml avec PostgreSQL peut se trouver ici : > <uri link="http://www.throwingbeans.org/tech/postgresql_and_xml.html"> > PostgreSQL and XML</uri> (en anglais). > </ti> ></tr> ><tr> > <ti>zlib</ti> > <ti> >Cette option n'est pas directement utilisée par PostgreSQL, mais par <c>pg_dump</c> pour compresser les clichés (dumps) qu'il produit. > </ti> ></tr> ></table> > ><note> >L'auteur du patch <c>pg-hier</c> ne travaille plus sur ce patch, et il sera probablement retiré des versions ultérieures. ></note> > ><p> >Quand vous aurez terminé la personnalisation de PostgreSQL pour l'adapter à vos besoins spécifiques, passez à l'étape suivante en procédant à l'<c>emerge</c>. ></p> > ><pre caption="Emerge-ing PostgreSQL"> ># <i>emerge postgresql</i> ><comment>(Sortie abrégée)</comment> >>>> /usr/lib/libecpg.so.5 -> libecpg.so.5.0 >>>> /usr/bin/postmaster -> postgres > * Make sure the postgres user in /etc/passwd has an account setup with /bin/bash as the shell > * > * Execute the following command > * emerge --config =postgresql-8.0.4 > * to setup the initial database environment. > * >>>> Regenerating /etc/ld.so.cache... >>>> dev-db/postgresql-8.0.4 merged. ></pre> > ><p> >Telle que la sortie de einfo l'indique, il reste quelques réglages post-installation à faire. Le chapitre suivant s'intéressera à la configuration de PostgreSQL proprement dite. ></p> > ></body> ></section> ></chapter> ><chapter> ><title>Configuration de PostgreSQL</title> ><section> ><title>Réglage de l'environnement initial de PostgreSQL</title> ><body> > ><p> >Telle que la dernière sortie d'<c>emerge</c> l'indique, l'environnement initial de PostgreSQL doit être réglé. Toutefois, avant de procéder, une chose doit être prise en considération : Contrairement à MySQL, par exemple, le mot de passe « root Â» de PostgreSQL est celui de l'utilisateur effectif. Néanmoins, ebuild ne créé que l'utilisateur, <c>pas</c> sont mot de passe. Par conséquent, avant de commencer, le mot de passe pour l'utilisateur PostgreSQL doit être créé : ></p> > ><pre caption="Créer le mot de passe"> ># <i>passwd postgres</i> >New UNIX password: >Retype new UNIX password: >passwd: password updated successfully ></pre> > ><p> >Maintenant que c'est chose faite, la création de l'environnement initial de la base de donnée peut intervenir : ></p> > ><pre caption="Configurer l'environnement de la base de données avec emerge --config"> ># <i>emerge --config =postgresql-8.0.4</i> > > >Configuring pkg... > > * Creating the data directory ... > * Initializing the database ... >The files belonging to this database system will be owned by user "postgres". >This user must also own the server process. > >The database cluster will be initialized with locale C. > >fixing permissions on existing directory /var/lib/postgresql/data ... ok >creating directory /var/lib/postgresql/data/global ... ok >creating directory /var/lib/postgresql/data/pg_xlog ... ok >creating directory /var/lib/postgresql/data/pg_xlog/archive_status ... ok >creating directory /var/lib/postgresql/data/pg_clog ... ok >creating directory /var/lib/postgresql/data/pg_subtrans ... ok >creating directory /var/lib/postgresql/data/base ... ok >creating directory /var/lib/postgresql/data/base/1 ... ok >creating directory /var/lib/postgresql/data/pg_tblspc ... ok >selecting default max_connections ... 100 >selecting default shared_buffers ... 1000 >creating configuration files ... ok >creating template1 database in /var/lib/postgresql/data/base/1 ... ok >initializing pg_shadow ... ok >enabling unlimited row size for system tables ... ok >initializing pg_depend ... ok >creating system views ... ok >loading pg_description ... ok >creating conversions ... ok >setting privileges on built-in objects ... ok >creating information schema ... ok >vacuuming database template1 ... ok >copying template1 to template0 ... ok > >WARNING: enabling "trust" authentication for local connections >You can change this by editing pg_hba.conf or using the -A option the >next time you run initdb. > >Success. You can now start the database server using: > > /usr/bin/postmaster -D /var/lib/postgresql/data >or > /usr/bin/pg_ctl -D /var/lib/postgresql/data -l logfile start > > * > * You can use /etc/init.d/postgresql script to run PostgreSQL instead of pg_ctl. > * ></pre> > ><p> >L'environnement initial de la base de données est maintenant réglé. La section suivante concernera la vérification de l'installation et l'ajout d'accès à la base de données par des utilisateurs. ></p> > ></body> ></section> ><section> ><title>Réglage de la base de données PostgreSQL</title> ><body> > ><p> >Maintenant que PostgreSQL est réglé il serait bon, à ce stade, de vérifier l'installation. Premièrement, assurez-vous que le service démarre correctement : ></p> > ><pre caption="Démarrage du service PostgreSQL"> ># <i>/etc/init.d/postgresql start</i> >* Starting PostgreSQL ... [ ok ] ></pre> > ><p> >Après confirmation du démarrage, il serait également indiqué de l'ajouter au niveau d'exécution (run level) par défaut afin qu'il démarre à l'amorçage du système : ></p> > ><pre caption="Ajout au niveau d'exécution par défaut"> ># <i>rc-update add postgresql default</i> >* postgresql added to runlevel default ></pre> > ><p> >Maintenant que le service a été démarré, il est temps d'essayer de créer une base de données test. Pour commencer, créons une base de données test en utilisant la commande <c>createdb</c>. Nous passerons également l'option <c>-U</c> pour instaurer l'utilisateur (sans cela c'est l'utilisateur actuel qui est instauré par défaut), ainsi que l'option <c>-W</c> pour invoquer le mot de passe que nous avons précédemment créé. Enfin, nous donnons un nom à la base de données que nous voulons créer : ></p> > ><pre caption="Creation d'une base de données avec createdb"> >$ <i>createdb -U postgres -W test</i> >Password: >CREATE DATABASE ></pre> > ><p> >La base de données a été créée avec succès, et nous sommes assurés que la base de données accomplit des tâches élémentaires. Poursuivons et supprimons (drop) cette base de données à l'aide de la commande <c>dropdb</c>. Nous créerons et utiliserons une nouvelle base de données ultérieurement : ></p> > ><pre caption="Suppression d'une base de données avec dropdb"> >$ <i>dropdb -U postgres -W test</i> >Password: >DROP DATABASE ></pre> > ><p> >à ce stade, il n'y a que l'utilisateur postgres qui puisse exécuter des commandes. Ãa n'est évidemment pas la configuration que nous voulons dans un environnement multi-utilisateurs. La section suivante concerne la gestion des comptes utilisateurs. ></p> > ></body> ></section> ><section> ><title>Configuration des comptes utilisateurs</title> ><body> > ><p> >Comme nous l'avons déjà mentionné, il n'est pas souhaitable, dans un environnement multi-utilisateur, de devoir se connecter avec le compte « postgres Â». Dans la plupart des cas, il y aura plusieurs utilisateurs et services qui accéderont au serveur, et chacun d'eux requiert des permissions différentes. Pour gérer cela, la commande <c>createuser</c> peut être utilisée. Cette commande est une alternative à l'exécution de plusieurs requêtes SQL, et du point de vue de l'administrateur, elle est bien plus flexible. Poursuivons et créons deux utilisateurs, un « super-utilisateur Â» qui pourra ajouter d'autres utilisateurs et administrer la base de données, ainsi qu'un utilisateur standard : ></p> > ><pre caption="Création du super-utilisateur"> ><comment>(remplacez chris par le nom d'utilisateur que vous souhaitez utiliser)</comment> >$ <i>createuser -a -d -P -E -U postgres -W chris</i> >Enter password for new user: >Enter it again: >Password: >CREATE USER ></pre> > ><p> >Très bien, nous avons créé le super-utilisateur. L'option <c>-a</c> de la ligne de commande spécifie que cet utilisateur peut ajouter d'autres utilisateurs. <c>-d</c> signifie que cet utilisateur peut créer des bases de données. <c>-P</c> permet de saisir un mot de passe pour l'utilisateur et <c>-E</c> permet de le crypter afin de sécuriser le compte. Nous allons maintenant tester les permissions de ce nouvel utilisateur en créant notre utilisateur standard : ></p> > ><pre caption="Création de l'utilisateur standard"> ><comment>(remplacez chris par l'utilisateur que vous venez de créer)</comment> >$ <i>createuser -A -D -P -E -U chris -W utilisateurTest</i> >Enter password for new user: >Enter it again: >Password: >CREATE USER ></pre> > ><p> >Parfait ! Notre nouvel utilisateur a été créé par le super-utilisateur que nous avions préalablement créé. Les options <c>-A</c> et <c>-D</c> ont l'effet inverse de <c>-a</c> et <c>-d</c> : elles empêchent l'utilisateur de créer d'autres utilisateurs et bases de données. Nous avons maintenant des utilisateurs avec qui travailler et une base de données nouvellement créée, et le prochain chapitre abordera l'utilisation de cette base de données. ></p> > ></body> ></section> ></chapter> ><chapter> ><title>Utilisation de PostgreSQL</title> ><section> ><title>Configuration des permissions</title> ><body> > ><p> >Avec notre base de données nouvellement créée, il y a un utilisateur qui peut créer des bases de données et ajouter de nouveaux utilisateur, ainsi que l'utilisateur principal postgres qui peut tout faire. Le dernier utilisateur que nous avons créé peut se connecter au serveur, et c'est à peu près tout. En général, les utilisateurs ont besoin de pouvoir insérer et extraire des données, et dans certains cas, de pouvoir exécuter un certain nombre d'autres tâches. Donc, pour que ce nouvel utilisateur puisse faire quoi que ce soit, il doit être configuré avec les permissions adéquates. Cela peut se faire facilement en passant le paramètre <c>-O</c> à la commande <c>createdb</c>. Nous commencerons par créer, avec notre super-utilisateur, une nouvelle base de données, <b>MyDB</b>, qui appartiendra à l'utilisateur test précédent : ></p> > ><pre caption="Création de la base de données MyDB"> >$ <i>createdb -O utilisateurTest -U chris -W MyDB</i> >Password: >CREATE DATABASE ></pre> > ><p> > Très bien, nous avons maintenant une nouvelle base de données MyDB, ainsi qu'un utilisateur utilisateurTest qui peut y accéder. Pour s'en assurer, nous allons nous connecter à la nouvelle base de données MyDB en tant que utilisateurTest. Nous allons faire cela avec le programme <c>psql</c>. C'est ce programme qui est utilisé pour se connecter à une base de données PostgreSQL en ligne de commande. Connectez-vous donc à cette nouvelle base de données de cette manière : ></p> > ><pre caption="Se connecter à la base de données MyDB en tant que utilisateurTest"> >$ <i>psql -U utilisateurTest -W MyDB</i> >Password: >Welcome to psql 8.0.4, the PostgreSQL interactive terminal. > >Type: \copyright for distribution terms > \h for help with SQL commands > \? for help with psql commands > \g or terminate with semicolon to execute query > \q to quit > >MyDB=> ></pre> > ><p> >utilisateurTest est maintenant connecté à la base de données, et peut commencer à exécuter quelques commandes. Pour s'accoutumer à l'utilisation de PostgreSQL, la section suivante présentera quelques commandes de base pour naviguer dans <c>psql</c> (le programme client). ></p> > ></body> ></section> ><section> ><title>Commandes PostgreSQL de base et création d'une table</title> ><body> > ><p> >Ceux qui sont habitués à MySQL devraient définitivement lire ceci. C'est là que PostgreSQL diffère sensiblement dans la manière d'exécuter les commandes. Pour commencer, voici une liste de quelques commandes qui seront abordées : ></p> > ><table> ><tr> > <th>Commande</th> > <th>Usage</th> > <th>Ãquivalent MySQL</th> ></tr> ><tr> > <ti>\c[onnect] [DBNAME|- [USER]]</ti> > <ti>Connexion à une autre base de données</ti> > <ti>USE DATABASE</ti> ></tr> ><tr> > <ti>\q</ti> > <ti>Sortie du client <c>psql</c></ti> > <ti>quit</ti> ></tr> ><tr> > <ti>\i FICHIER</ti> > <ti>Exécution des commandes contenues dans <c>FICHIER</c></ti> > <ti>source FILE</ti> ></tr> ><tr> > <ti>\o [FICHIER]</ti> > <ti>Envoi des résultats de la requête dans <c>FICHIER</c></ti> > <ti>INTO OUTFILE, but outputs everything (not just SELECTS)</ti> ></tr> ><tr> > <ti>\d [NOM]</ti> > <ti>Description d'une base de données ou d'une table (ainsi que d'autres éléments)</ti> > <ti>DESC(RIBE)</ti> ></tr> ><tr> > <ti>\db [MOTIF]</ti> > <ti> > Liste les tables disponibles qui correspondent au <c>MOTIF</c> (toutes si aucun motif n'est spécifié) > </ti> > <ti>SHOW TABLES</ti> ></tr> ></table> > ><p> >à l'exception de <c>\c[onnect]</c>, toutes les commandes listées seront utilisées ultérieurement dans cette section. Notre base de données est vide. Il nous faut donc insérer quelques données. Cependant, la première étape est de les insérer dans une table. A ce stade, il n'y a aucune table dans notre base de données, nous devons donc en créer une. Cela se fait avec la commande <c>CREATE TABLE</c>. Nous créerons une table d'éléments. Ils contiendront un identifiant de produit, une description et un prix : ></p> > ><pre caption="Création de la table produits"> >MyDB=> CREATE TABLE produits ( >MyDB(> identifiant_produit SERIAL, >MyDB(> description TEXT, >MyDB(> prix DECIMAL >MyDB(> ); >NOTICE: CREATE TABLE will create implicit sequence "products_product_id_seq" >for serial column "products.product_id" >CREATE TABLE ></pre> > ><p> >Vous pouvez ignorer cette « NOTICE Â», elle est parfaitement bénigne. La dernière ligne de la fonction <c>CREATE TABLE</c> semble indiquer que la commande s'est déroulée correctement. Vérifions malgré tout, avec la commande <c>\d</c>, que la table a effectivement été créée. ></p> > ><pre caption="Vérification de la table nouvellement créée"> >MyDB=> <i>\d produits</i> > Table "public.produits" > Column | Type | Modifiers >-------------+---------+------------------------------------------------------------------ > identifiant_produit | integer | not null default nextval('public.produits_identifiant_produit_seq'::text) > description | text | > prix | numeric | ></pre> > ><p> >La table a, en effet, été créée. Maintenant que la table est créée, nous pouvons y ajouter des données. La section suivante traite de l'ajout de données dans la base de données. ></p> > ></body> ></section> ><section> ><title>Insérer des données dans la base de données</title> ><body> > ><p> >Cette section présentera deux façons d'ajouter des données dans la table nouvellement créée. Pour commencer, intéressons nous à la commande la plus élémentaire : <c>INSERT</c> : ></p> > ><pre caption="Syntaxe de INSERT"> >INSERT INTO [nom_table] (colonne1,colonne2,colonne3) VALUES(valeur1,valeur2,valeur3) ></pre> > ><p> >Le <c>nom_table</c> correspond au nom de la table dans laquelle nous insérons les données. (colonne1,colonne2,colonne3) permet de spécifier dans quelles colonnes nous voulons insérer les valeurs. VALUES(valeur1,valeur2,valeur3) est la liste des valeurs. Les valeurs sont insérées dans le même ordre que les colonnes (colonne1 reçoit la valeur1, colonne2 reçoit la valeur2, colonne3 reçoit la valeur3). Le nombre de colonnes et de valeurs <e>doit</e> être le même. Poursuivons et insérons un élément dans la table : ></p> > ><impo> >Pour avoir travaillé longtemps avec des bases de données, je recommande de spécifier les instructions <c>INSERT</c> exactement comme nous venons de le faire. Les développeurs font souvent l'erreur d'utiliser <c>INSERT INTO</c> sans spécifier les colonnes. Ãa n'est pas rentable, car si une nouvelle colonne est ajoutée à la table et que la position de la colonne ne correspond plus à la valeur qu'on souhaite y ajouter, cela causera de sérieux problèmes. Vous devriez <c>toujours</c> spécifier les colonnes à moins que vous ne soyez sûrs à 300% que vous n'en ajouterez jamais. ></impo> > ><pre caption="Insertion de données dans la table"> >MyDB=> <i>INSERT INTO produits (description,prix) VALUES('Un produit test', 12.00);</i> >INSERT 17273 1 ></pre> > ><p> >La dernière ligne appelle quelques explications. Le retour d'une commande d'insertion est composée d'un OID (Identifiant d'Objet) et du nombre d'éléments (ou lignes) insérés. Les OID dépassent un peu le cadre de ce guide et le <uri link="http://www.postgresql.org/docs/8.1/static/datatype-oid.html">PostgreSQL manual</uri> fournit de bonnes informations les concernant. Maintenant, dans le cas ou vous avez 20'000 produits, ces instructions d'insertion pourraient devenir légèrement fastidieuses. Ne désespérez pas ! La commande <c>COPY</c> peut être utilisée pour insérer des données dans une table à partir d'un fichier ou de l'entrée standard (stdin). Dans cet exemple, nous supposerons que vous avez un fichier cvs (valeurs séparées par des virgules), qui contient les identifiants des produits, leurs descriptions et leurs prix. Le fichier ressemble à ça : ></p> > ><pre caption="produits.csv"> >2,viande,6.79 >3,soupe,0.69 >4,limonade,1.79 ></pre> > ><p> >Nous allons maintenant utiliser la commande <c>COPY</c> pour alimenter la table : ></p> > ><impo> >Nous utilisons la commande <c>COPY FROM STDIN</c> parce que l'insertion de données à partir d'un fichier n'est possible que pour l'utilisateur postgres (pour d'évidentes raisons de sécurité). ></impo> > ><pre caption="Utilisation de COPY pour alimenter la table produits"> >MyDB=> <i>COPY produits FROM STDIN WITH DELIMITER AS ',';</i> >Enter data to be copied followed by a newline. >End with a backslash and a period on a line by itself. >>> <i>2,viande,6.79</i> >>> <i>3,soupe,0.69</i> >>> <i>4,limonade,1.79</i> >>> <i>\.</i> ></pre> > ><p> >Malheureusement, cette instruction ne retourne pas les mêmes informations sur le statut que l'instruction <c>INSERT INTO</c>. Comment savoir si les données ont été insérées ? La section suivante traitera de l'exécution de requêtes pour vérifier nos données. ></p> > ></body> ></section> ><section> ><title>Utilisation de requêtes PostgreSQL</title> ><body> > ><p> >Cette section traitera de l'usage de l'instruction <c>SELECT</c> qui permet de voir les données dans nos tables. Le format basique de <c>SELECT</c> ressemble à ça : ></p> > ><pre caption="Syntaxe de SELECT"> >SELECT (colonne1,colonne2|*) FROM (table) [WHERE (conditions)] ></pre> > ><p> >Il y a deux moyens pour sélectionner les colonnes. Le premier est d'utiliser <c>*</c> pour sélectionner toutes les colonnes, et le deuxième est de spécifier la liste des colonnes que vous souhaitez voir. Le deuxième est plutôt pratique quand vous voulez trouver une colonne particulière parmi une longue liste de colonnes. Commençons par utiliser <c>SELECT</c> avec <c>*</c> pour spécifier toutes les colonnes : ></p> > ><pre caption="Visualiser la table produits"> >MyDB=> <i>SELECT * FROM produits;</i> > identifiant_produit | description | prix >------------+----------------+------- > 1 | Un produit test | 12.00 > 2 | viande | 6.79 > 3 | soupe | 0.69 > 4 | limonade | 1.79 >(4 rows) ></pre> > ><p> >Comme on peut le voir, toutes les données que nous avons inséré plus tôt sont effectivement dans la table. Maintenant, admettons que nous ne souhaitons voir que la description et le prix, et que nous nous désintéressons de l'identifiant du produit. Dans ce cas, nous utiliserons la forme « colonnes particulières Â» de SELECT : ></p> > ><pre caption="Visualiser des colonnes particulières de la table produits"> >MyDB=> <i>SELECT description,prix FROM produits;</i> > description | prix >----------------+------- > Un produit test | 12.00 > viande | 6.79 > soupe | 0.69 > limonade | 1.79 >(4 rows) ></pre> > ><p> >Nous avons maintenant uniquement le produit et le prix, ce qui nous permet de nous concentrer sur les données importantes. Imaginons maintenant que nous ne souhaitons voir que les éléments dont le prix est supérieur à 2 euros. C'est ici que la clause <c>WHERE</c> vient à notre secours : ></p> > ><pre caption="Visualiser des éléments particuliers de la table produits"> >MyDB=> <i>SELECT description,prix FROM produits WHERE prix > 2.00;</i> > description | prix >----------------+------- > Un produit test | 12.00 > viande | 6.79 >(2 rows) ></pre> > ><p> >Une liste des produits dont le prix est supérieur à 2 euros est maintenant affichée, ce qui affine encore notre sélection. Ces formes de requêtes d'informations sont très puissantes et peuvent aider à créer des rapports extrêmement utiles. ></p> > ></body> ></section> ><section> ><title>Conclusion</title> ><body> > ><p> >Ceci conclut le guide PostgreSQL. Un grand merci à Masatomo Nakano, qui assure le suivit de Gentoo PostgreSQL, qui m'a été d'une grande aide. Toute suggestion concernant ce guide devra être envoyée à <mail>chriswhite@gentoo.org</mail>. Pour une documentation plus détaillée, veuillez consulter le <uri link="http://www.postgresql.org">PostgreSQL website</uri>. ></p> > ></body> ></section> ></chapter> ></guide>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 132638
: 86405