PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 31/03/2016 20:21:12

Nemesis-fr
Membre

Je n'arrive pas à démarrer le serveur postgres

Bonjour tout le monde,
Mon nom est Jonathan et je me lance dans l'aventure Postgresql smile

Voila j'ai acheté il y'a quelques mois un RaspBerry pi 2 et j'ai mit l'os Raspbian dessus.
Mon objectif donc est de créé un petit serveur de développement afin de créer mes propres sites web en Java EE.

Donc voila jusque maintenant j'utilisais MySql et j'ai décidé de grandir et de passer vers les solutions plus pros qui sont notamment PostGreSQL.

Mais voilà j'ai un petit soucis je n'arrive pas à démarrer le serveur postgres :'(

J'ai suivi ce tutoriel afin d'installer PostGresql sur mon Raspberry :
http://domoenergytics.com/domo.energy/I … QL-9-3-sur

Dans l'ensemble tout c'est bien passé cependant lorsque je veux redémarrer mon serveur via cette commande il me met ceci :

(Je suis connecté avec l'utilisateur postgres créé comme ceci :
adduser postgres

sudo /etc/init.d/postgresql start
[sudo] password for postgres:
postgres is not in the sudoers file.  This incident will be reported.

Je ne comprends pas vraiment ce message d'erreur, donc je décide de lancer avec un compte administrateur et me met ceci :
sudo /etc/init.d/postgresql restart
Restarting PostgreSQL: pg_ctl: PID file "/usr/local/pgsql/data/postmaster.pid" does not exist
Is server running?

Je ne comprends pasj'ai tout fait correctement.

Et lorsque je veux voir si le service est bien lancé il me met ceci :
service postgres status
● postgres.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

Je ne comprends plus rien quelqu'un pourrait m'aider je vous prit .

Dernière modification par Nemesis-fr (31/03/2016 20:25:45)

Hors ligne

#2 31/03/2016 21:42:19

rjuju
Administrateur

Re : Je n'arrive pas à démarrer le serveur postgres

Avez-vous essayé en tant qu'administrateur de faire tout simplement "sudo /etc/init.d/postgresql start" ?

Si cela ne suffit pas il nous faudra plus de détail, comme les logs de postgres.

En ligne

#3 31/03/2016 23:43:49

Nemesis-fr
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Bonjour rjuju
Merci j'ai pu lancé le serveur, du moins je le pense voici la réponse :
sudo /etc/init.d/postgresql start
Starting PostgreSQL: ok

Cependant j'ai deux questions encore, lorsque j'ai essayé avec l'utilisateur postgres il m'a affiché ce message d'erreur :


Et je n'arrive toujours pas à trouver son processus voici le message d'erreur lorsque j'exécute la commande service :
service postgresql status

● postgresql.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)




En fait le problème de base c'est que j'essaye d'accéder à mes bases de données via pgadmin3 à distance mais il m'affiche ce message :

Server doesn't listen
The server doesn't accept connections: the connection library reports
could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "192.168.1.23" and accepting TCP/IP connections on port 5432?

En tout cas merci encore rjuju

Hors ligne

#4 01/04/2016 09:19:18

ruizsebastien
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Bonjour,

Que donne la commande ps -ef |grep postgres ?


pour ce message :
Server doesn't listen
The server doesn't accept connections: the connection library reports
could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "192.168.1.23" and accepting TCP/IP connections on port 5432?

Vérifiez votre postgresql.conf :
vous devez avoir cette ligne : listen_addresses = '*'

Ensuite si ça ne suffit pas, vérifiez votre pg_hba.conf (et envoyez nous le contenu).

Cordialement.

Hors ligne

#5 01/04/2016 11:35:51

Nemesis-fr
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Bonjour ruizsebastien,

Voici le résultat de la commande concernant l'état de mon processus :

pi       26107 25982  0 09:20 pts/0    00:00:00 grep --color=auto postgres(postgres écrit de couleur rouge)

Sinon j'ai bien créé la ligne auparavant nommée listen_addresses ='*' si j'ai bien compris c'est pour accepter toutes les adresses ip externe d'accéder à notre base de données.



Je ne sais pas si ça peut aider mais même si j'ai démarré mon serveur sql et qu'il me dit qu'il a bien démarrer, il met met ce message d'erreur lorsque je veux me connecter avec un de mes utilisateurs :



psql: could not connect to server: Aucun fichier ou dossier de ce type
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.5432"?





Et voici le corps de mon fichier pg_hba.conf

#
# Database and user names containing spaces, commas, quotes and other
# special characters must be quoted.  Quoting one of the keywords
# "all", "sameuser", "samerole" or "replication" makes the name lose
# its special character, and just match a database or username with
# that name.
#
# This file is read on server startup and when the postmaster receives
# a SIGHUP signal.  If you edit the file on a running system, you have
# to SIGHUP the postmaster for the changes to take effect.  You can
# use "pg_ctl reload" to do that.

# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records.  In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.


# use "pg_ctl reload" to do that.

# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records.  In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.

# CAUTION: Configuring the system for local "trust" authentication
# allows any local user to connect as any PostgreSQL user, including
# the database superuser.  If you do not trust all your local users,
# use another authentication method.


# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only


# CAUTION: Configuring the system for local "trust" authentication
# allows any local user to connect as any PostgreSQL user, including
# the database superuser.  If you do not trust all your local users,
# use another authentication method.


# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     ident map=devmap
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                trust
#host    replication     postgres        127.0.0.1/32            trust
#host    replication     postgres        ::1/128                 trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                trust
#host    replication     postgres        127.0.0.1/32            trust
#host    replication     postgres        ::1/128                 trust
# allow management IP
host    all     all     192.168.1.1/24  md5

Dernière modification par Nemesis-fr (01/04/2016 11:54:38)

Hors ligne

#6 01/04/2016 13:49:32

ruizsebastien
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Bonjour,

Pour démarrer l'instance, faite le avec le user postgres (unix) avec cette commande :
pg_ctl start -D /repertoire_de_demarrage
(ou repertoire_de_demarrage = le repertoire où se trouve le postgresql.conf)

Pour le pg_hba.conf, modifiez le en ne gardant que les lignes ci-dessous :
local   all             all                                     ident map=devmap
host    all             all             ::1/128                 trust
host    all     all     192.168.1.1/24  md5

(en admettant que seul l'ip 192.168.1.1 pourra se connecter à distance)
après avoir modifié le pg_hba.conf, il faut relancer l'instance (ou au minimum recharger la conf : pg_ctl reload -D /repertoire_de_demarrage)

Cordialement.

Hors ligne

#7 01/04/2016 14:08:34

Nemesis-fr
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Bonjour,

Pour la commande il me dit qu'elle n'est pas trouvé, alors j'ai commencé à rechercher mais je n'ai pas trouvé de solution à ce problème.
J'ai essayé cette commande mais cela n'a pas marché : http://askubuntu.com/questions/385416/p … is-command

Hors ligne

#8 01/04/2016 14:22:48

rjuju
Administrateur

Re : Je n'arrive pas à démarrer le serveur postgres

Le service postgresql n'arrive visiblement pas à démarrer. Il nous faut les logs pour pouvoir vous aider.

Sur une debian, ceux-ci doivent se trouver dans /var/log/postgresql, je ne sais pas si dans votre cas ils sont situés au même endroit.

En ligne

#9 01/04/2016 14:24:38

ruizsebastien
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

La doc que vous avez postée dans votre 1er poste indique ce chemin :
/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data

Hors ligne

#10 01/04/2016 15:14:59

Nemesis-fr
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Je voulais vous demander quelque chose,
Dans les quelques explications que vous m'avez donné ruizsebastien vous avez dit que uniquement l'adresse 192.168.1.1 pourrait ce connecter.
Cependant n'es ce pas une adresse réseau et donc par conséquent donner accès à tous les ordinateurs connectés sur ce réseau?

Maintenant lorsque je veux accéder à ma base de données il me met ceci :

/usr/local/pgsql/bin/psql -U devpi PiBase
LOG:  no match in usermap "devmap" for user "devpi" authenticated as "postgres"
FATAL:  Peer authentication failed for user "devpi"
DETAIL:  Connection matched pg_hba.conf line 84: "local   all             all                                     ident map=devmap"
psql: FATAL:  Peer authentication failed for user "devpi"
J'ai pas autant galéré sur Windows avec PostGresql x)

Hors ligne

#11 01/04/2016 16:02:01

ruizsebastien
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Oui uniquement 192.168.1.1 pourra se connecter A DISTANCE.
Vous essayez avec la commande psql de vous connecter en local, directement sur le serveur.

Modifiez votre pg_hba.conf comme ceci (+relance de l'instance) :
local   all             all                                     md5
host    all             all             ::1/128                 md5
host    all     all     192.168.1.1/24  md5

Hors ligne

#12 02/04/2016 14:20:30

Nemesis-fr
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Bonjour,
Merci de votre réponse,
J'aurais une question lorsque j'exécute la commande de redémarrage du serveur avec la commande :
/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data

il me met ce message :
LOG : autovaccum launcher started

ET dessous le curseur clignote, es-ce que si je fait une autre action le programme va s'arréter ?

J'espère que je suis assez clair smile

Hors ligne

#13 03/04/2016 19:51:26

rjuju
Administrateur

Re : Je n'arrive pas à démarrer le serveur postgres

Bonjour,

postgres continuera à tourner, mais les traces ne seront pas sauvegardées si elles sortent sur la sortie standard, et vous aurez à le lancer à chaque fois que vous redémarrez. Je vous conseille de plutôt passer par l'initscript.

En ligne

#14 04/04/2016 11:24:27

Nemesis-fr
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Bonjour,
Donc si je comprends bien mon serveur postgresql est fonctionnel?
J'utilise cette commande sinon pour le lancer en arrière plan :
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &

Et il me répond ceci :
[1] 25640


De même que j'ia encore un problème lorsque je veux me connecter à la base de données avec un de mes utilisateurs avec cette commande
/usr/local/pgsql/bin/psql -U devpi PiBase

il me met ceci :
psql: FATAL:  Peer authentication failed for user "devpi"

Dernière modification par Nemesis-fr (04/04/2016 11:25:50)

Hors ligne

#15 04/04/2016 11:28:37

ruizsebastien
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

avez vous modifié votre pg_hba.conf comme ceci (+relance de l'instance) :
local   all             all                                     md5
host    all             all             ::1/128                 md5
host    all     all     192.168.1.1/24  md5

Hors ligne

#16 05/04/2016 18:41:09

Nemesis-fr
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Oui j'ai ajouté ces quelques lignes puis redémarré mon raspberry et voici ce qu'il m'affiche quand je veux me connecter avec mon utilisateur :


psql: FATAL:  Peer authentication failed for user "devpi"

EDIT : Donc lorsque j'ai essayé de me connecter à distance (pgadmin3) à ma base de données Postgres (réseau local) j'ai réussi avec l'utilisateur devpi
Cependant j'aimerais créer une nouvelle base de données mais il me met cette erreur :
root@raspberrypi:/home/pi# /usr/local/pgsql/bin/createdb -O devpi -E UTF8 LogicielGestion
createdb: could not connect to database template1: FATAL:  Peer authentication failed for user "root"

Comment résoudre le problème svp

Dernière modification par Nemesis-fr (05/04/2016 19:29:06)

Hors ligne

#17 05/04/2016 19:28:53

ruizsebastien
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

il faut supprimer toutes les lignes du pg_hba.conf et y mettre celle-ci à la place :
local   all             all                                     md5
host    all             all             ::1/128                 md5
host    all     all     192.168.1.1/24  md5

+relance instance.

Hors ligne

#18 05/04/2016 19:38:05

Nemesis-fr
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Ok merci je vais essayer, pourriez vous m'expliquer en fait à quoi consiste ces quelques lignes svp

PS tout va déjà mieux il me demande un mot de passe mais lorsque je veux saisir le mdp il me met ce message :

createdb: could not connect to database template1: FATAL:  password authentication failed for user "pi"


Pourtant promis je mets le bon ^^

Dernière modification par Nemesis-fr (05/04/2016 20:00:28)

Hors ligne

#19 06/04/2016 09:42:14

ruizsebastien
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Bonjour,

Le mieux c'est de se connecter avec le user postgres et de modifier le mot de passe du user pi pour être sûr d'avoir le bon.
(ALTER USER pi WITH PASSWORD '<newpassword>';)

Hors ligne

#20 07/04/2016 12:02:50

Nemesis-fr
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

Bonjour, mon utilisateur pi n'étant pas un utilisateur postgresql mais celui de mon raspberry,
Même en essayant votre commande il me dit qu'il ne trouve as la commande ALTER

Hors ligne

#21 07/04/2016 13:57:20

ruizsebastien
Membre

Re : Je n'arrive pas à démarrer le serveur postgres

il faut être dans psql pour pouvoir passer la commande alter.
par exemple : psql -U postgres

Hors ligne

Pied de page des forums