Page suivante Page précédente Table des matières

6. PostgreSQL à grands pas

Ce chapitre est destiné à vous aider à installer et à faire tourner la base de données très rapidement, en moins de 10 minutes.

6.1 Installation et tests

Étapes rapides pour installer, tester, vérifier et faire tourner PostgreSQL Connectez-vous en tant qu'utilisateur root.


# rpm -qpl postgre*.rpm (pour consulter la liste des fichiers. Pour la documentation 'man rpm')
# rpm -qpi postgre*.rpm (pour prendre connaissance des informations concernant le paquetage)
# cat /etc/passwd | grep postgres

Note: Si vous voyez un utilisateur 'postgres', vous pouvez avoir à faire une sauvegarde et un nettoyage du répertoire  postgres et à supprimer l'utilisateur unix 'postgres', une autre solution consiste à renommer l'utilisateur unix 'postgres' en quelque chose du genre 'postgres2'. L'installation doit être effectuée dans un "répertoire propre".
# rpm -i postgre*.rpm (Doit installer tous les paquetages clients, devel, data
        et main pour que pgaccess puisse fonctionner )
# chkconfig --add postgresql  (pour lancer pg durant le démarrage, voir 'man
chkconfig')
# cp /usr/lib/pgsql/python/_pg.so /usr/lib/python1.5/lib-dynload (pour
python)
# /etc/rc.d/init.d/postgresql start  (pour lancer postgres)
# su - postgres
bash$ createdb mydatabase  (ceci va créer une base de données de nom  :
'mydatabase')
                 (pour lire la documentation 'man createdb')
bash$ psql mydatabase   (pour lire la documentation 'man psql')
..... dans psql utilisez les flèches haut/bas ou \s pour visualiser l'historique
bash$ export DISPLAY=<hostname>:0.0; pgaccess mydatabase; (consulter 'man
pgaccess')

Dès maintenant, vous pouvez commencer à taper des commandes SQL pour pgaccess ou psql !!
bash$ cd /usr/doc/postgresql*

Arrivé là, lisez toutes les FAQ, les manuels du programmeur et de l'administrateur ainsi que les documents de prise en main (tutorials) existants.

Pour obtenir des informations complémentaires concernant PostgreSQL, consultez http://www.postgresql.org

6.2 Maximum RPM

Téléchargez le livre 'Maximum RPM' à l' http://www.RPM.org. le nom du fichier est maximum-rpm.ps.gz Lisez-le sous Linux en utilisant la commande gv -


# gv maximum-rpm.ps.gz

6.3 Test de PyGreSQL - Interface Python


bash$ cd /usr/lib/pgsql/python
bash$ createdb thilo
bash$ psql thilo
thilo=> create table test (aa char(30), bb char(30) );
bash$ /usr/bin/python
>>> import _pg
>>> db = _pg.connect('thilo', 'localhost')
>>> db.query("INSERT INTO test VALUES ('ping', 'pong')")
>>> db.query("SELECT * FROM test")
eins|zwei
----+----
ping|pong
(1 row)
>>>CTRL+D
bash$
..... Wow! Cela a l'air de fonctionner - maintenant, installons-le proprement
bash$ su - root
# cp /usr/lib/pgsql/python/_pg.so /usr/lib/python1.5/lib-dynload

6.4 Test de Perl - Interface Perl


bash$ cd /usr/doc/postgresql-6.5.2/examples/perl5

Note: La variable globale @INC doit inclure le module Pg.pm dans le répertoire site_perl donc utilisez l'option -I ci-dessous
bash$ perl -I/usr/lib/perl5/site_perl/5.004/i386-linux-thread ./example.newstyle

.... Re_Wow! Vous avez fait tourner un perl qui accède à la base de données PostgreSQL!!

Prenez connaissance des fichiers d'exemples pour l'utilisation de l'interface perl.

6.5 Test des interfaces libpq, libpq++


bash$ cd /usr/doc/postgresql-6.5.2/examples/libpq++
bash$ su root   --> to change ownership of examples
# chown -R postgres /usr/doc/postgresql-6.5.2/examples
# exit
bash$ g++ testlibpq0.cc -I/usr/include/pgsql -I/usr/include/pgsql/libpq++
-lpq++ -lpq -lcrypt
bash$ ./a.out  (Note: Ignore Error messages if you get any - as below)
> create table foo (aa int, bb char(4));
No tuples returned...
status = 1
Error returned: fe_setauthsvc: invalid name: , ignoring...
> insert into foo values ('4535', 'vasu');
No tuples returned...
status = 1
Error returned: fe_setauthsvc: invalid name: , ignoring...
> select * from foo;
aa   |bb   |
-----|-----|
4535 |vasu |
Query returned 1 row.
>
>CTRL+D
bash$

.... Hourra!! Vous venez de faire tourner les interfaces directes de C/C++ à la base de données PostgreSQL!!

6.6 Test des interfaces Java

Pour pouvoir effectuer ceci vous DEVEZ installer le paquetage jdk-*glibc*.rpm (paquetage Java RPM)


bash$ cd /usr/doc/postgresql-6.5.2/examples/jdbc
bash$ echo $CLASSPATH
 --> Devrait afficher  CLASSPATH=/usr/lib/jdk-1.1.6/lib/classes.zip
bash$ export CLASSPATH=$CLASSPATH:.:/usr/lib/pgsql/postgresql.jar
Editer tout le fichier psql.java et enlevez le symbole de commentaire de la ligne 'package'.
bash$ javac psql.java
bash$ java psql jdbc:postgresql:template1 postgres < password>[1] select * from pg_tables;
tablename       tableowner      hasindexes      hasrules
pg_type postgres        true    false   false
pg_attribute    postgres        true    false   false
[2]
CTRL+C
bash$

.... Re_Hourra!! Vous venez de faire tourner les interfaces directes de Java à la base de données PostgreSQL!!

6.7 Test des interfaces ecpg


bash$ cd /usr/doc/postgresql-6.5.2/examples/ecpg
bash$ ecpg test1.pgc -I/usr/include/pgsql
bash$ cc test1.c -I/usr/include/pgsql -lecpg -lpq -lcrypt
bash$ createdb mm
bash$ ./a.out

.... Wow!! vous venez de faire tourner le "C"-SQL / base de données PostgreSQL" intégré!!

6.8 Test des exemples SQL - Types and fonctions définis par l'utilisateur


bash$ cd /usr/doc/postgresql-6.5.2/examples/sql
Under-development..

6.9 Test des interfaces Tcl/Tk

Il y a un exemple d'interfaces Tcl/Tk dans le programme pgaccess. Lire le fichier /usr/bin/pgaccess à l'aide d'un éditeur de texte -


bash$ view /usr/bin/pgaccess
bash$ export DISPLAY=<hostname of your machine>:0.0
bash$ createdb mydb
bash$ pgaccess mydb

6.10 Test des interfaces ODBC

1. Procurez-vous le pilote win32 pgsql odbc à http://www.insightdist.com/psqlodbc/ 2. Voir également /usr/lib/libpsqlodbc.a

6.11 Test des interfaces de la feuille de travail Motif MPSQL

Procurez-vous les RPMs auprès de http://www.mutinybaysoftware.com

6.12 Vérification

Pour vérifier le parfait fonctionnement de PostgreSQL, faites tourner le paquetage de test de Régression :- Connectez-vous en tant que root -


# rpm -i postgresql*.src.rpm
# cd /usr/src/redhat/SPECS
# more postgresql*.spec   (pour savoir quels sont les paquetage RPM que
vous devez installer)
# rpm -bp postgresql*.spec  (.. ce qui va préparer le paquetage)

Le test de régression a besoin des Makefiles et de quelques fichiers en-tête
comme *fmgr*.h
qui peuvent être construits par -
# rpm --short-circuit -bc postgresql*.spec ( .. utilisez "short circuit" pour
forcer les choses!)
Interrompre la construction en pressant les touches CTRL+C quand vous voyez
 'make -C common  SUBSYS.o'
À ce moment là, la configuratioin est réussie, tous les "makefiles" et tous les fichiers en-tête (headers) ont été créés.
Il n'y a rien de plus à faire.
# cd /usr/src/redhat/BUILD
# chown -R postgres postgresql*
# su - postgres
bash$ cd /usr/src/redhat/BUILD/postgresql-6.5.2/src/test/regress
bash$ more README
bash$ make clean; make all runtest
bash$ more regress.out


Page suivante Page précédente Table des matières