Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/10/2006, à 22:12

Tentacule

Configurer PostgreSQL-8.1

Salut,

je voudrai savoir comment faire pour configurer PostgreSQL-8.1 car lorsque je tape :

~$ sudo /etc/init.d/postgresql-8.1 start
 * Starting PostgreSQL 8.1 database server: main Cluster is already running.
                                                                                                                      [fail]

et

sudo /etc/init.d/postgresql-8.1 restart
 * Stopping PostgreSQL 8.1 database server: main                                                                      [ ok ]
 * Starting PostgreSQL 8.1 database server: main                                                                      [ ok ]

Je suppose que ça ne se configure pas tout seul ...

Merci

#2 Le 13/10/2006, à 22:42

Tentacule

Re : Configurer PostgreSQL-8.1

Après, je tape ceci :

~$ createdb basetest
createdb: could not connect to database postgres: FATAL:  role "tentacule" does not exist

#3 Le 13/10/2006, à 23:16

snapshot

Re : Configurer PostgreSQL-8.1

main Cluster is already running.

Normal : il y a déjà un serveur activé, tu ne peux pas en avoir deux (comme tous les serveurs)

Pour aller vite, ce qu'il faut savoir :
- Les bases de données utilisent des utilisateurs différents du système : root n'existe pas, pas plus que ton nom. Avec Postgres, le superutilisateur est "postgres"
- Il est souvent plus facile d'avoir une correspondance entre les utilisateurs du système et ceux de la base : il te faudra créer un utilisateur "tentacule"
- Par défaut, le client en ligne de commande de postgres (psql) utilise une base portant le nom de l'utilisateur : il faudra créer une base "tentacule"
- On peut évidement avoir des noms et des bases avec des noms différent.

Pour créer un utilisateur portant ton nom :

sudo su postgres
cd
createuser --createdb --pwprompt --encrypted --echo --no-createrole --no-superuser --username=postgres tentacule
exit

Le "sudo su postgres" te fait passer pour le super-administrateur de la base dedonnées. Par défaut, lui seul a le droit de créer de nouveaux utilisateurs
Le createuser crée un utilisateur portant ton nom "tentacule". Cet utilisateur dispose du droit de créer des bases (--createdb)
Avec le "exit", tu redeviens toi-même.

Comme tu disposes du droit de créer une base, tu peux faire :

createdb

Par défaut, postgres comprendra "createdb tentacule", mais rien ne t'empeche de nommer la base de données autrement en tapant "createdb trucmuche".

Maintenant que la base de données est créée, tu peux l'utiliser en utilisant le prompt SQL en ligne de commande :

psql

Comme avec createdb, tu peux te connecter sur une autre base en tapent "psql trucmuche"

Si tu avais créé un autre utilisateur que le tien (exemple: alice), il faudrait ajouter à chacune de ces commandes l'option "-u alice"
Si le serveur n'est pas sur ta machine, il faut le spécifier avec l'option "-h adresse.serveur".

Dans le cas où tu utilises des noms et des serveurs différents du tien, tu auras peut-être des problèmes d'identifications. Cela se règle dans le fichier /etc/postgresql/8.1/main/pg_hba.conf .  hba signifie Host Based Authentication

Attention, le serveur fait la différence entre localhost et rien. Dans le premier cas, il se écoute en IP sur 127.0.0.1:5342. Dans le second, il récoit les requêtes d'un tube (en fait une socket de type unix-domain) dans /var/run/postgresql/.s.PGSQL.5432
Ce détail a son importance quand on touche au pg_hba.conf


Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !

Hors ligne

#4 Le 14/10/2006, à 08:54

Tentacile

Re : Configurer PostgreSQL-8.1

Salut,

sudo su postgres
cd
createuser --createdb --pwprompt --encrypted --echo --no-createrole --no-superuser --username=postgres tentacule
exit

Comment faire pour retirer l'utilisateur tentacule ?
De plus, est-il préférable de mettre comme utilisateur, le login que j'utilise sur Ubuntu ?
Les différentes commandes que tu as écrit, sont à effectuer les unes à la suite des autres ?
Une fois que je tape, psql, pour pouvoir taper des commandes sql, comment on fait pour en sortir lorsq'on a fini.

Merci

#5 Le 14/10/2006, à 11:50

snapshot

Re : Configurer PostgreSQL-8.1

Comment faire pour retirer l'utilisateur tentacule ?

La création d'un utilisateur passe par la commande SQL CREATE USER. Certaines commandes SQL sont disponibles en ligne de commande linux. C'est le cas de createuser et de son pendant : dropuser. Donc pour supprimer un utilisateur, c'est dropuser

sudo su postgres;
cd
dropuser tentacule
exit

De plus, est-il préférable de mettre comme utilisateur, le login que j'utilise sur Ubuntu ?

ça peut être un autre utilisateur qui n'a même pas besoin d'exister pour linux. Mais dans ce cas, il faudrait systématiquement mettre "-u autreutilisateur" au commandes psql, createdb, etc...

Les différentes commandes que tu as écrit, sont à effectuer les unes à la suite des autres ?

Oui !

Une fois que je tape, psql, pour pouvoir taper des commandes sql, comment on fait pour en sortir lorsq'on a fini.

C'est indiqué dans le mot de bienvenue de psql : il faut envoyer "\q", ou plus simplement et comme tout programme unix : Ctrl-D (qui marche partout, même pour fermer un terminal. Il signifie "Fin du fichier")

Dernière modification par snapshot (Le 14/10/2006, à 11:51)


Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !

Hors ligne