Postrgesql 8.1 , utilisation du tutorial de la doc

Salut à tous,

Je viens d’installer postgresql pour faire des tests et le comparer avec mysql.
J’ai installé la version 8.1 ainsi que la doc associée.

Lorsque je me suis rendu dans /usr/share/doc/postgresql-doc-8.1/ j’ai vu qu’il y avait un répertoire “tutorial”. J’ai lu fichier README et ils y disent ceci :

[quote]$ cat README
This directory contains SQL tutorial scripts. To look at them, first do a
% make
to compile all the scripts and C files for the user-defined functions
and types. This requires postgresql-server-dev-8.1 to be installed.

Then, run psql with the -s (single-step) flag:
% psql -s

From within psql, you can try each individual script file by using
psql’s \i command.[/quote]

J’ai donc installé postgresql-server-dev-8.1 et lancé le #make dont voici le résultat :

[quote]# make
rm -f advanced.sql;
C=pwd;
sed -e “s:OBJWD:$C:g” < advanced.source > advanced.sql
rm -f basics.sql;
C=pwd;
sed -e “s:OBJWD:$C:g” < basics.source > basics.sql
rm -f complex.sql;
C=pwd;
sed -e “s:OBJWD:$C:g” < complex.source > complex.sql
rm -f funcs.sql;
C=pwd;
sed -e “s:OBJWD:$C:g” < funcs.source > funcs.sql
rm -f syscat.sql;
C=pwd;
sed -e “s:OBJWD:$C:g” < syscat.source > syscat.sql
cc -g -Wall -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wdeclaratio n-after-statement -Wendif-labels -fno-strict-aliasing -g -fpic -I. -I/usr/includ e/postgresql/8.1/server -I/usr/include/postgresql/internal -D_GNU_SOURCE -I/usr /include/tcl8.4 -c -o complex.o complex.c
cc -shared -o complex.so complex.o
cc -g -Wall -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wdeclaratio n-after-statement -Wendif-labels -fno-strict-aliasing -g -fpic -I. -I/usr/includ e/postgresql/8.1/server -I/usr/include/postgresql/internal -D_GNU_SOURCE -I/usr /include/tcl8.4 -c -o funcs.o funcs.c
cc -shared -o funcs.so funcs.o
rm complex.o funcs.o[/quote]

Ensuite, je suis passé à l’exécution de la 2ème partie du README :

[quote]$ psql -s
psql: FATAL: la base de donnees <> n’existe pas
$ sudo psql -s
psql: FATAL: la base de donnees <> n’existe pas
$ su postgres
Password: PASS_VIDE
su : Authentication failure
$ sudo su

su postgres

$ psql -s
Bienvenue dans psql 8.1.3, l’interface interactive de PostgreSQL.

Tapez: \copyright pour les termes de distribution
\h pour l’aide-mémoire sur les commandes SQL
? pour l’aide-mémoire sur les commandes psql
\g ou terminez avec un point-virgule pour exécuter une requête
\q pour quitter[/quote]
Mais je fais quoi après ?
Je n’ai pas l’impression de voir un tutorial…

Voici ce que j’ai dans ce répertoire après avoir fais le make :

[quote]$ ls -l
total 128
-rw-r–r-- 1 root root 1636 2006-04-10 23:43 advanced.source
-rw-r–r-- 1 root root 1636 2006-05-18 11:51 advanced.sql
-rw-r–r-- 1 root root 5743 2006-04-10 23:43 basics.source
-rw-r–r-- 1 root root 5743 2006-05-18 11:51 basics.sql
-rw-r–r-- 1 root root 2007 2006-04-10 23:43 beard.c
-rw-r–r-- 1 root root 5813 2006-04-10 23:43 complex.c
-rwxr-xr-x 1 root root 16237 2006-05-18 11:51 complex.so
-rw-r–r-- 1 root root 7660 2006-04-10 23:43 complex.source
-rw-r–r-- 1 root root 8080 2006-05-18 11:51 complex.sql
-rw-r–r-- 1 root root 2605 2006-04-10 23:43 funcs.c
-rw-r–r-- 1 root root 3246 2006-04-10 23:43 funcs_new.c
-rwxr-xr-x 1 root root 11360 2006-05-18 11:51 funcs.so
-rw-r–r-- 1 root root 4664 2006-04-10 23:43 funcs.source
-rw-r–r-- 1 root root 4804 2006-05-18 11:51 funcs.sql
-rw-r–r-- 1 root root 960 2006-04-10 23:43 Makefile
-rw-r–r-- 1 root root 378 2006-04-10 23:43 README
-rw-r–r-- 1 root root 5755 2006-04-10 23:43 syscat.source
-rw-r–r-- 1 root root 5755 2006-05-18 11:51 syscat.sql[/quote]

Avez vous déjà installé cette BDD ? Avez vous déjà réussi à lire ce tutorial ?

je crois que je viens de comprendre 8)

une fois logguer sur le serveur sql via “$ sudo su postgres ; psql -s” il faut faire :

[quote]Bienvenue dans psql 8.1.3, l’interface interactive de PostgreSQL.

Tapez: \copyright pour les termes de distribution
\h pour l’aide-mémoire sur les commandes SQL
? pour l’aide-mémoire sur les commandes psql
\g ou terminez avec un point-virgule pour exécuter une requête
\q pour quitter

postgres=# \i basics.sql
(Mode étape par étape: vérifier la commande)****************************************
CREATE TABLE weather (
city varchar(80),
temp_lo int,
temp_hi int,
prcp real,
date date
);
(appuyez sur return pour continuer ou tapez x puis appuyez sur return pour annuler)*****************
[/quote]

bon ben , j’me remercie :laughing: :wink:

Postgresql ne peux etre administrer que par l’utilisateur postgres il faut donc que tu soit loggé sous ce login tu peux aussi créer d’autres utilisateurs pour leurs donner certains droits.

Attention si tu utilise la console pour postgresql fait bien attention a bien mettre le ; a la fin de la ligne sinon il complete celle du dessus et te créé une erreur a moins que ce ne soit voulu

les commandes \h et ? sont tres utile.

Tu as aussi une possibilité de l’administrer graphiquement avec pgadmin

merci Ash pour ce complément d’infos :slightly_smiling:

quel est le pass par defaut de l’utilisateur postgres ??
il ne m’a rien demandé et du coup… je ne connais pas son pass, je me demande si en modifiant le pass de cet utilisateur je ne vais pas foutre le bordel dans postgresql…

je vais tester pgadmin, ca m’évitera des erreurs non désirées…

Je ne sais plus si il y en a un de base tu peux lui en affecter avec la commande passwd en tant que root postgres est un utilistateur linux comme les autres.

hum…

j’ais tenté de faire un “su - postrges” sans mettre de MdP je me suis fais jeter, idem avec pgadmin. j’ai ensuite modifié son MdP via la commande “sudo passwd postgres”.

maintenant un “su - postgres” fonctionne mais pgadmin me jette en me disant erreur de MdP :unamused: