Vous n'êtes pas identifié(e).
Bonjour tout le monde,
Mon nom est Jonathan et je me lance dans l'aventure Postgresql
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
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.
Julien.
https://rjuju.github.io/
Hors ligne
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
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.
Cordialement,
Sébastien.
Hors ligne
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
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.
Cordialement,
Sébastien.
Hors ligne
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
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.
Julien.
https://rjuju.github.io/
Hors ligne
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
Cordialement,
Sébastien.
Hors ligne
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
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
Cordialement,
Sébastien.
Hors ligne
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
Hors ligne
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.
Julien.
https://rjuju.github.io/
Hors ligne
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
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
Cordialement,
Sébastien.
Hors ligne
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
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.
Cordialement,
Sébastien.
Hors ligne
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
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>';)
Cordialement,
Sébastien.
Hors ligne
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
il faut être dans psql pour pouvoir passer la commande alter.
par exemple : psql -U postgres
Cordialement,
Sébastien.
Hors ligne