Postgresql : j'ai dû rater un truc

Bonjour,

J’ai installé Postgresql 9.4 sur ma debian 7.4. J’ai ensuite essayé de créer une base de données et j’ai, semble-t-il réussi mais en mode admin.
Je voudrais ne pas être obligé de démarrer postgresql en admin.
Est-ce possible ?

J’ai ensuite installé pgAdmin3 - qui fonctionne - mais je n’arrive pas à connecter ce programme à postgresql ni en mode admin ni en mode utilisateur.

J’ai probablement loupé quelque chose lors des différentes installations.

Qui a une méthode pour installer postgresql et pgAdmin3 pour qu’ils fonctionnent ensemble en mode utilisateur ? Cela fait des jours et des jours que j’essaie, en vain. J’ai lu des dizaines de tutos sans plus de rsultat.

Merci.

:/home/guy# ps -ef | grep postgre
postgres  2815     1  0 08:56 ?        00:00:00 /usr/lib/postgresql/9.4/bin/postgres -D /var/lib/postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql.conf
postgres  2857  2815  0 08:56 ?        00:00:00 postgres: checkpointer process                                                                                              
postgres  2858  2815  0 08:56 ?        00:00:00 postgres: writer process                                                                                                    
postgres  2859  2815  0 08:56 ?        00:00:00 postgres: wal writer process                                                                                                
postgres  2860  2815  0 08:56 ?        00:00:00 postgres: autovacuum launcher process                                                                                       
postgres  2861  2815  0 08:56 ?        00:00:00 postgres: stats collector process                                                                                           
root      8294  8289  0 16:35 pts/1    00:00:00 grep postgre
:/home/guy# su - postgres
postgres@MGD0714:~$ psql
psql (9.4.5)
Saisissez « help » pour l'aide.

postgres=# 

Bonjour.
Précise ta demande. De quel “mode administrateur” parles tu ? Celui de la base, ou celui du système?
J’ai l’impression que tu mélanges les deux.

Bonjour piratebab,

Oui, en effet, tout est pour le moins mélangé dans ma tête. Quand je regarde les lignes de code ci-dessus … c’est … plutôt incompréhensible pour mes pauvres neurones.

Si je tape

:/home/guy:~$ su - postgres

la console me demande un mot de passe mais aucun de ceux que j’utilise (administrateur et utilisateur) ne fonctionne.
Si je passe en console administrateur (avec mon mot de passe admin), la commande :

:/home/guy# su - postgres
postgres@MGD0714:~$

semble fonctionner puisque je me retrouve dans “postgres” mais, d’après le caractère affiché, je suis en mode utilisateur ($)
Maintenant, pour travailler dans postgres et ma nouvelle base de données, je tape :

[code]
postgres@MGD0714:~$ psql
psql (9.4.5)
Saisissez « help » pour l’aide.

postgres=# [/code]
et là, j’arrive à quelque chose qui me dit que je suis en mode admin (#).

À ce niveau-ci, j’ai maintenant accès à la base de données que j’ai créée et je peux y travailler. J’ai testé en créant une table. Ça fonctionne bien.

Et maintenant … c’est embrouillé dans ma tête : ces passage d’un mode à l’autre … je ne comprends pas.
Je suis obligé de démarrer postgres en mode admin … ça je veux bien le comprendre puisqu’à l’installation de postgres, j’ai dû travailler en mode admin.
Mais pourquoi, alors que psql est lancé en mode utilisateur, je me retrouve en mode admin pour pouvoir travailler dans ma base de données ?
Je veux que ma base de données reste accessible depuis mon compte utilisateur et non pas en admin.

J’espère m’être fait un peu mieux comprendre :wink:

A+

C’est normal, l’utilisateur postgres n’a pas de mot de passe.

Pour tes interrogations, cela peut en effet être déroutant quand on découvre PostgreSQL.
L’utilisateur postgres est l’utilisateur par défaut. Une fois que tu t’es connecté à l’utilisateur postgres tu dois créer un autre utilisateur, qui sera celui que tu utiliseras pour gérer ta base de données.

-d permet à l’utilisateur de créer des bases.

Et ensuite te connecter avec :

Il te manque visiblement une donnée de base. Les utilisateurs d’une base de données et les utilisateurs systémes sont 2 choses complétement différentes!. Le systéme à ses utilisateurs, le plus connu en root.
Et la base à ses propres utilisateurs (qui n’ont donc rien à voir).
Le moteur de la base de donnée est lané au lancement du systéme, tu n’as pas a te préoccuper à quel utilisateur il appartient. Si tu veux vraiment le savoir, utilise la commande ps -ax
Lorsque tu te connectes à la base, peu importe l’utilisateur système à ce moment là. Ce qui importe c’est l’utilisateur de la base que tu spécifies dans la ligne de commande.

Merci à vous deux pour ces explications.

Je commence doucement à m’y retrouver. Mais je pense qu’il y aura encore bien du travail pour m’en sortir convenablement.

À bientôt :wink: