Doc_postgresql_9_0.pdf

(893 KB) Pobierz
Premiers pas avec
PostgreSQL
version 9.0
Premiers pas avec PostgreSQL
1/37
Table of Contents
I Introduction.......................................................................................................................................4
A.Pourquoi ce document?...............................................................................................................4
B.À qui s'adresse ce document?......................................................................................................4
C.Licence du document :................................................................................................................5
II Présentation de PostgreSQL............................................................................................................5
1.Licence....................................................................................................................................5
2.Caractéristiques et fonctionnalités :........................................................................................5
III Installation......................................................................................................................................6
A.Vocabulaire..................................................................................................................................6
1.Base.........................................................................................................................................6
2.Cluster (ou grappe de base de données)..................................................................................6
3.Schéma....................................................................................................................................6
B.Principes de base.........................................................................................................................6
1.Comptes système.....................................................................................................................6
2.Rôles........................................................................................................................................6
3.Versions (mineures/majeures).................................................................................................7
4.Client/serveur..........................................................................................................................7
5.Processus serveur....................................................................................................................7
6.Module de contribution...........................................................................................................7
C.Exemple.......................................................................................................................................8
D.Sous Windows.............................................................................................................................8
1.Où trouver PostgreSQL pour Windows?.................................................................................8
2.Installation...............................................................................................................................8
E.Sous Linux.................................................................................................................................18
1.Debian/Ubuntu......................................................................................................................18
2.Redhat/Cent OS/Fedora........................................................................................................19
3.Compilation des sources.......................................................................................................20
F.Autres.........................................................................................................................................20
IV Après l'installation........................................................................................................................20
A.Processus et emplacement des fichiers.....................................................................................20
B.Changer le mot de passe de l'utilisateur système postgres........................................................22
C.Créer un cluster de base de données.........................................................................................22
D.Autoriser les connexions...........................................................................................................22
1.Connexions réseau (postgresql.conf)....................................................................................22
2.Authentification des clients (pg_hba.conf)...........................................................................23
3.Prise en compte des paramètres de configuration.................................................................24
4.Créer une base.......................................................................................................................25
5.Créer un rôle et lui donner des droits sur une base...............................................................25
E.Super-utilisateur........................................................................................................................27
F.Je ne peux pas me connecter à la base? Que faire?....................................................................27
G.Où se trouve la log ? Comment la configurer?.........................................................................27
H.Arrêter/démarrer le serveur PostgreSQL..................................................................................28
V Outils..............................................................................................................................................28
A.Outil graphique : pgAdmin3.....................................................................................................28
B.psql (outil en ligne de commande)............................................................................................29
Premiers pas avec PostgreSQL
2/37
1.Windows :.............................................................................................................................29
2.Sous Linux : .........................................................................................................................30
3.Remarques : ..........................................................................................................................30
4.Commandes ..........................................................................................................................30
C.phpPgAdmin.............................................................................................................................30
D.Copy..........................................................................................................................................31
VI Développement.............................................................................................................................31
A.SQL...........................................................................................................................................31
B.Procédures stockées..................................................................................................................31
C.JDBC.........................................................................................................................................31
D.Autres (PERL, Python, .Net, ODBC, Tcl...).............................................................................32
E.A savoir !...................................................................................................................................32
1.Majuscules/minuscules.........................................................................................................32
2.Erreurs et transactions...........................................................................................................33
3.Savepoints.............................................................................................................................34
4.DDL dans les transactions!...................................................................................................34
5.Count(*)................................................................................................................................35
VII Et après?......................................................................................................................................35
A.Lire la documentation :.............................................................................................................35
B.Sites utiles :...............................................................................................................................35
C.Pour trouver de l'aide complémentaire :...................................................................................35
1.Listes de diffusion :...............................................................................................................35
2.Forum de la communauté francophone :...............................................................................36
3.Remarque : comment poser vos questions?.........................................................................36
Premiers pas avec PostgreSQL
3/37
I Introduction
A. Pourquoi ce document?
J'ai commencé à développer sous PostgreSQL assez récemment après une longue expérience sous
Oracle. La documentation générale de PostgreSQL est excellente, et très riche, mais j'avais besoin
d'un document plus léger expliquant la procédure d'installation sur différents systèmes et comment
démarrer (créer un cluster, configurer les connexions), ainsi que des informations sur ce qu'on
pouvait faire avec PostgreSQL. Je ne l'ai pas trouvé.
Après quelques mois d'utilisation, je me suis rendu compte que les problèmes des débutants étaient
toujours les mêmes. Ainsi, j'ai compilé mes notes des débuts et ce que j'ai appris depuis dans ce
document.
Voici le résultat, en espérant qu'il vous aide à débuter et qu'il vous encourage à continuer avec
PostgreSQL.
B. À qui s'adresse ce document?
Ce document a pour but de vous aider à installer PostgreSQL sous Windows ou sous Linux, et à
commencer à développer.
Il est écrit pour vous faire gagner du temps dans vos premiers pas avec PostgreSQL, tout en vous
expliquant les points importants afin que vous puissiez progresser par vous-même.
Il s'adresse donc principalement aux développeurs d'applications, afin de leur permettre de
découvrir ce puissant moteur sur une petite base de test, ou aux personnes qui débutent
complètement avec PostgreSQL. Vous n'aurez pas besoin de connaissances système avancées pour
suivre ce document.
Une fois que vous aurez terminé la lecture de ce document, vous pourrez continuer par la lecture de
la documentation officielle pour apprendre à administrer PostgreSQL ou devenir un développeur
aguerri. La dernière section de ce document vous donne les liens et références nécessaires pour
continuer à progresser.
Parfois les informations ne sont volontairement pas complètes, et lorsque la documentation de
référence est plus claire et précise que ce qui aurait pu être fait ici, les liens sont fournis vers la
documentation française.
Ce document a été écrit initialement pour la version 8.3, puis mis à jour pour la version 9.0 (voir le
chapitre sur les versions).
Avertissement : ce document n'est en aucun cas un document sur le tuning de la base. Il n'est pas
fait non plus pour vous apprendre à administrer une base de production.
Premiers pas avec PostgreSQL
4/37
C. Licence du document :
Guide de démarrage rapide avec Postgresql by Florence Cousin est mis à disposition selon les
termes de la
licence Creative Commons Paternité 2.0 France.
cousinflo chez free point fr
II Présentation de PostgreSQL
PostgreSQL est un moteur de bases de données relationnelle.
C'est un moteur adapté à des bases métier, donc riche en fonctionnalités et puissant. Son installation
est cependant plutôt simple. Il faut juste comprendre quelques principes de base (ce que cette
présentation s'efforce de faire)
Si vous ne connaissez pas les principes relationnels ou le SQL, le mieux est de vous procurer un
bon ouvrage sur le sujet. L'article de Wikipedia peut être une bonne introduction
(http://fr.wikipedia.org/wiki/SQL
),
et donne de nombreuses références. Le tutoriel de la
documentation PostgreSQL peut également vous rendre service si vous avez besoin de vous
rafraîchir la mémoire :
http://docs.postgresqlfr.org/9.0/tutorial-sql.html
1.
Licence
La licence de PostgreSQL est une licence de type BSD, ce qui permet son utilisation sans
restriction, dans un logiciel libre ou propriétaire. C'est un avantage certain, car cela permet par
exemple d'utiliser PostgreSQL comme base de données pour un logiciel propriétaire.
PostgreSQL est un projet indépendant. Il n'est détenu par aucune entreprise. La communauté
PostgreSQL est très réactive (allez voir les mailings-lists si vous voulez vérifier). De nombreuses
entreprises soutiennent et participent également au développement de PostgreSQL.
2.
Caractéristiques et fonctionnalités :
PostgreSQL comporte de nombreuses fonctionnalités intéressantes. Parmi celles-ci, on peut citer par
exemple :
moteur transactionnel
respect des normes SQL
MVCC (mécanisme permettant une concurrence efficace sans verrouiller les
enregistrements pour assurer l'isolation des transactions)
procédures stockées dans de nombreux langages
triggers
réplication maître-esclaves en continu par application des journaux binaires (archives WAL),
esclaves accessibles en lecture.
Premiers pas avec PostgreSQL
5/37
Zgłoś jeśli naruszono regulamin