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 Réplication » Conseille pour mise en place d'un CLUSTER » 22/03/2015 15:49:33

totof68
Réponses : 2

Bonjour,

Dans le cadre d'un projet, je dois mettre en place une base de donnée PostgreSQL.

J'ai déjà eu votre aide pour la configuration de la base de donnée, maintenant je vous sollicite pour la mise en place d'un cluster.

J'aimerais mettre en place 1 serveur Maître, et 1 serveur Esclave. Si le Maître tombe l'Esclave prends le relais.

J'ai lu sur le net à propos de PGpool II.

Est-ce que ce serais la meilleur solution ?

J'ai tester sa mise en place avec un serveur Maître en 192.168.1.201 et l'esclave en 192.168.1.202.
L'ip de PGPool II est 192.168.1.203

Cela à l'air de bien fonctionner à priori

psql -h 192.168.1.203 -p 9999 -U postgres
psql (9.4.1)
Saisissez « help » pour l'aide.

postgres=# 


Création d'une base de donnée

create database VERIFICATION_CLUSTER1;

Vérification de la présence de cette base sur nos deux serveurs

Serveur 1

psql -h 192.168.1.201 -p 5432 -U postgres -l

                                       Liste des bases de données
         Nom          | Propriétaire | Encodage | Collationnement | Type caract. |    Droits d'accès     
----------------------+--------------+----------+-----------------+--------------+-----------------------
 postgres             | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | 
 template0            | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | =c/postgres          +
                      |              |          |                 |              | postgres=CTc/postgres
 template1            | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | =c/postgres          +
                      |              |          |                 |              | postgres=CTc/postgres
 verification_cluster | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | 
(4 lignes)


Serveur 2

psql -h 192.168.1.202 -p 5432 -U postgres -l

                                       Liste des bases de données
         Nom          | Propriétaire | Encodage | Collationnement | Type caract. |    Droits d'accès     
----------------------+--------------+----------+-----------------+--------------+-----------------------
 postgres             | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | 
 template0            | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | =c/postgres          +
                      |              |          |                 |              | postgres=CTc/postgres
 template1            | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | =c/postgres          +
                      |              |          |                 |              | postgres=CTc/postgres
 verification_cluster | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | 
(4 lignes)

Cependant, lorsque j'essaie de faire l'installation d'une application en lui donnant un pg_service tels que celui la

[s_workflow]
        host=192.168.1.203
        port=9000
        dbname=db_test
        user=u_test
        password=p_test

( Je précise que la base de donnée et l'utilisateur sont bien crée )

Cela ne fonctionne pas vraiment, c'est très très long ( je ne sais même pas si il se passe quelque chose d'ailleurs )

Par contre si je mets le pg_service comme cela :

[s_workflow]
        host=192.168.1.201
        port=5432
        dbname=db_test
        user=u_test
        password=p_test

Pas de soucis cela passe comme une lettre à la poste.

Quelqu'un aurais un petit conseil ?


Cordialement,

#2 Re : Installation » FATAL: authentification par mot de passe ?chou?e pour l'utilisateur » 12/02/2015 16:03:47

Je viens de refaire un test avec une nouvelle base de donnée, utilisateur & co, et cela fonctionne parfaitement.

Mon fichier de configuration pg_service devait avoir un soucis avec des tabulations je pense, car j'ai refais un service dedans avec les nouvelles info et l'installation s'est bien faite.

En tout cas merci pour votre aide smile

#3 Re : Installation » FATAL: authentification par mot de passe ?chou?e pour l'utilisateur » 12/02/2015 00:57:34

Bonsoir Gleu,

Le fichier pg_service.conf est dans le répertoire : cd /etc/postgresql-common/

Je penses que la variable  PGSYSCONFDIR est bonne... enfin comme je disais j'arrive à me connecter a la base de donnée avec l'utilisateur de la base, cependant on dirait que lorsque je veux faire une connexion avec l'outil en php il ne se passe rien... car je ne vois pas de tentative échouer dans les log de posgresql alors du coup je ne sais pas d'ou cela peut provenir étant donnée que j'ai bien le php5-psql d'installer sur le serveur...

#4 Re : Installation » FATAL: authentification par mot de passe ?chou?e pour l'utilisateur » 11/02/2015 16:11:16

Le restart de postgresql est fait ( plusieurs fois même à fois que j'essaie de faire des modifications de config )

En faite pour dynacase, si je ne me trompe pas, on lui indique le nom du service, dans mon cas [s_ecliss] ( même si j'ai aussi essayer ecliss, db_ecliss etc...)
Dynacase va se connecter à la base de donnée en utilisant les valeurs qui se trouve dans pg_service donc :

 [s_ecliss]
           host=localhost
           port=5432
           dbname=db_ecliss
           user=u_ecliss
           password=p_ecliss

#5 Re : Installation » FATAL: authentification par mot de passe ?chou?e pour l'utilisateur » 11/02/2015 14:24:33

La base s'appel bien db_ecliss pour le test

Au niveau du fichier de conf j'ai bien ceci

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = 'localhost'          # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost', '*' = all
                                        # (change requires restart)
port = 5432                             # (change requires restart)
max_connections = 100                   # (change requires restart)
# Note:  Increasing max_connections costs ~400 bytes of shared memory per
# connection slot, plus lock space (see max_locks_per_transaction).
#superuser_reserved_connections = 3     # (change requires restart)
unix_socket_directory = '/var/run/postgresql'           # (change requires restart)
#unix_socket_group = ''                 # (change requires restart)
#unix_socket_permissions = 0777         # begin with 0 to use octal notation
                                        # (change requires restart)
#bonjour = off                          # advertise server via Bonjour
                                        # (change requires restart)
#bonjour_name = ''                      # defaults to the computer name
                                        # (change requires restart)

J'ai passer listen_addresses = 'localhost' en listen_addresses = '*''

Et au niveau de netstat

netstat -natup | grep "post"
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      3031/postgres   
tcp6       0      0 ::1:5432                :::*                    LISTEN      3031/postgres   
udp6       0      0 ::1:36542               ::1:36542               ESTABLISHED 3031/postgres 

Au niveau du pare-feu étant donnée que c'est un serveur virtuel tout est open

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

#6 Re : Installation » FATAL: authentification par mot de passe ?chou?e pour l'utilisateur » 11/02/2015 13:36:20

D'accord, je viens de faire la modif dans le fichier pg_hba.conf,

Cependant avec la configuration de l'outil il me demande cela :

yOH8aN.png

Je rentre donc les paramètres,

Voici le retour

FTq8Wc.png

Ce qui est étonnant c'est que je n'ai pas de log, concernant postgre pour l'authentification échoué

2015-02-11 12:29:03 CET LOG:  a re?u une demande d'arr?t rapide
2015-02-11 12:29:03 CET LOG:  annulation des transactions actives
2015-02-11 12:29:03 CET LOG:  arr?t du processus autovacuum
2015-02-11 12:29:03 CET LOG:  arr?t en cours
2015-02-11 12:29:03 CET LOG:  le syst?me de base de donn?es est arr?t?
2015-02-11 12:29:04 CET LOG:  le syst?me de bases de donn?es a ?t? arr?t? ? 2015-02-11 12:29:03 CET
2015-02-11 12:29:04 CET LOG:  le syst?me de bases de donn?es est pr?t pour accepter les connexions
2015-02-11 12:29:04 CET LOG:  lancement du processus autovacuum
2015-02-11 12:29:04 CET LOG:  paquet de d?marrage incomplet

Je dirais qu'il me manque quelque chose pour qu'il y ai une liaison serveur web ==> postgresql ?

J'ai bien installer le php5-psql pourtant

Et concernant le fichier .pgpass si j'ai bien compris c'est un fichier que l'on met dans son home ? enfin le home de l'utilisateur postgres ?

#7 Re : Installation » FATAL: authentification par mot de passe ?chou?e pour l'utilisateur » 11/02/2015 13:06:26

Voici le contenu du fichier :

# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

#8 Installation » FATAL: authentification par mot de passe ?chou?e pour l'utilisateur » 11/02/2015 12:43:16

totof68
Réponses : 12

Salut tout le monde,


Je ne sais pas si je suis dans la bonne section, mais je vous expose mon problème;

Je n'ai pas trop l'habitude de travailler avec postgresql, et dans le cadre de mon travail nous voulons mettre en place un outil qui s'appel Dynacase, je ne sais pas si vous connaissez ==> http://www.dynacase.org/

Enfin voila pour le context, j'ai donc mis en place posgresql,

netstat -natup | grep "post"
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      17482/postgres  
tcp6       0      0 ::1:5432                :::*                    LISTEN      17482/postgres  
udp6       0      0 ::1:43076               ::1:43076               ESTABLISHED 17482/postgres  

Tout à l'air bon pour cette partie la.

Ensuite j'ai pris ces commandes pour crée une base, un user et mdp :

su postgres
           psql
             CREATE ROLE u_ecliss WITH LOGIN ENCRYPTED PASSWORD 'p_ecliss' SUPERUSER;
             CREATE DATABASE db_ecliss OWNER u_ecliss;
             \q
           exit

Ensuite j'ai crée le fichier pg_service.conf

 [s_ecliss]
           host=127.0.0.1
           port=5432
           dbname=db_ecliss
           user=u_ecliss
           password=p_ecliss

Le soucis c'est que au niveau de l'inteferface php au niveau du service name cela n'a pas l'air de passer, de plus si j'essaie les commandes suivantes :


PGSERVICE=s_ecliss
psql

J'ai le résultat suivant :

psql: FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>

Et au niveau des logs au cas ou


2015-02-11 11:29:09 CET LOG:  a re?u une demande d'arr?t rapide
2015-02-11 11:29:09 CET LOG:  annulation des transactions actives
2015-02-11 11:29:09 CET LOG:  arr?t du processus autovacuum
2015-02-11 11:29:09 CET LOG:  arr?t en cours
2015-02-11 11:29:09 CET LOG:  le syst?me de base de donn?es est arr?t?
2015-02-11 11:29:10 CET LOG:  le syst?me de bases de donn?es a ?t? arr?t? ? 2015-02-11 11:29:09 CET
2015-02-11 11:29:10 CET LOG:  le syst?me de bases de donn?es est pr?t pour accepter les connexions
2015-02-11 11:29:10 CET LOG:  lancement du processus autovacuum
2015-02-11 11:29:11 CET LOG:  paquet de d?marrage incomplet
2015-02-11 11:29:44 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:29:44 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:30:31 CET LOG:  a re?u SIGHUP, rechargement des fichiers de configuration
2015-02-11 11:30:33 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:30:33 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:31:31 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:31:31 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:32:13 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:32:13 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:32:44 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:32:44 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:41:32 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:41:32 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>

EDIT :

Si j'utilise cette commande la, la connexion à la base de donnée se fait bien....

>psql db_ecliss -U u_ecliss -h localhost
Mot de passe pour l'utilisateur u_ecliss : 
psql (9.1.15)
Connexion SSL (chiffrement : DHE-RSA-AES256-SHA, bits : 256)
Saisissez « help » pour l'aide.

db_ecliss=# exit
db_ecliss-# \q


Quelqu'un aurait une petite idée sur le sujet ?


Cordialement,
Totof

Pied de page des forums

Propulsé par FluxBB