IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outils PostgreSQL Discussion :

pg_ident.conf et pg_hba.conf


Sujet :

Outils PostgreSQL

  1. #1
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut pg_ident.conf et pg_hba.conf
    Bonjour,

    voici ce que je souhaiterai effectuer : je désirerai effectuer mes sauvegardes via l'utilisateur unix root.
    Mais quand je fais cela, j'ai un message du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pg_dump: [programme d'archives (db)] echec lors de la connexion à la base de données « communication_development » : FATAL:  Le rôle « root » n'existe pas
    Je peux donc ne faire mes sauvegardes que via l'utilsateur unix postgres.
    J'ai lu qu'il fallait configurer le pg_hba.conf et pg_ident.conf mais je dois mal le faire car le résultat est toujours le même.

    voici mes 2 fichiers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    local   all         postgres                          ident sameuser
     
    # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
     
    # "local" is for Unix domain socket connections only
    local   all         all                               ident sameuser
    # IPv4 local connections:
    host    all         all         127.0.0.1/32          md5
    host    all         postgres    127.0.0.1/32          trust
    # IPv6 local connections:
    host    all         all         ::1/128               md5
    # Everybody can access database from Internet
    host    all         all         0.0.0.0/0             trust
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # MAPNAME     IDENT-USERNAME    PG-USERNAME
    trust           root            postgres
    Quel est le point qui pose problème dans ma configuration ?

    Merci d'avance

    Charly
    L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
    Pierre Desproges

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 936
    Points : 4 356
    Points
    4 356
    Par défaut
    Citation Envoyé par papy_tergnier Voir le message
    Bonjour,

    voici ce que je souhaiterai effectuer : je désirerai effectuer mes sauvegardes via l'utilisateur unix root.

    pensez à "su -l postgres" …
    et sans rien faire de particulier au niveau de pg_hba et C° :

    /home/postgres/pgbackup.sh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    #!/bin/sh
    rotate() {
            file="$1"; shift
            rm -f "$file.$1" 
            for i in "$@"; do
                    [ "$i" = "0" ] && j="" || j=".`expr $i - 1`"
                    [ -f "$file$j.gz" ] && mv -f "$file$j.gz" "$file.$i.gz"
                    [ -f "$file$j" ] && mv -f "$file$j" "$file.$i"
                    [ "$i" = "0" -a -x $file.scan ] && $file.scan "$file.$i"
                    [ -f "$file.$i" ] 
            done
    }
     
    dbs=`cat /home/postgres/pgbackup.conf`
     
    for i in $dbs
    do
            su -l postgres -s /bin/sh -c "/usr/local/bin/pg_dump -p 5432 -b -C -Fc $i > /home/postgres/$i-8.tar.gz"
            echo "pg_dump : " $i
            rotate /home/postgres/$i-8.tar.gz 9 8 7 6 5 4 3 2 1 0
    done
    et par exemple dans le crontab de l'utilisateur root :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	0	23	*	*	*	/home/postgres/pgbackup.sh
    pour un backup tous les jours à 23:00 … des db listées dans pgbackup.conf

  3. #3
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut
    Merci JeitEmgie,

    c'est marrant j'ai fait quasiment la même chose : un backup rotatif
    L'idée du su -l est pas bête du coup. C'est même moi qui suit bête de ne pas y avoir pensé.

    Par contre je laisse le topic ouvert car j'aimerai bien savoir ce qui ne vas pas dans mes fichiers de configuration

    ++
    L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
    Pierre Desproges

  4. #4
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Heu ... il manquerait pas dans ton pg_hba.conf une ligne du genre:

    LOCAL ALL ALL ident trust

    ???

  5. #5
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut
    Citation Envoyé par papy_tergnier Voir le message
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    local   all         postgres                          ident sameuser
    
    # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
    
    # "local" is for Unix domain socket connections only
    local   all         all                               ident sameuser
    # IPv4 local connections:
    ...
    il y est déjà
    L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
    Pierre Desproges

  6. #6
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    # "local" is for Unix domain socket connections only
    local all all ident sameuser
    Non, non ... je dis bien trust à la place de sameuser

  7. #7
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut
    ah ... au temps pour moi

    Je vérifierai ce soir

    Merci
    L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
    Pierre Desproges

  8. #8
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut
    Non sans succès
    L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
    Pierre Desproges

  9. #9
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    En plus de la modification que je t'ai demandé de faire ... Tu as rajouté dans ton pg_dump l'option "-U <super_user_postgres>" (qui est souvent postgres) ???

  10. #10
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut
    non j'avais oublié.
    Là je viens de l'éxécuter et j'ai ce message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pg_dump: [programme d'archives (db)] echec lors de la connexion à la base de données « communication_development » : FATAL:  authentification Ident échouée pour l'utilisateur « postgres »
    L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
    Pierre Desproges

  11. #11
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Est ce que le pg_dump fait sa connexion en socket ou tcp/ip et pouvez-vous tenter de changer le MAPNAME de 'trust' -> 'root' par exemple et au niveau de 'pg_hba' mettre 'ident root' à la place de 'ident trust' ?
    Et question toute bête ... Vous avez bien reloadé ?!
    Et y a t'il bien un utilisateur 'postgres' dans votre BDD ?

  12. #12
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Des nouvelles ???

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    Bonjour papy_tergnier

    Quel est le point qui pose problème dans ma configuration ?
    Je dois dire tout de suite que je n'ai pas mis en oeuvre. Mais en lisant la doc sur l'authentification avec PostgreSQL et la modification des deux fichiers, il me semble avoir compris la chose suivante :
    Dans le fichier pg_ident.conf, on doit choisir comme Mapname un nom de notre crû, genre "toto"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # MAPNAME     IDENT-USERNAME    PG-USERNAME
    toto           root            postgres
    Et dans le fichier pg_hba.conf il faut y faire référence ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # "local" is for Unix domain socket connections only
    local   all         all                               ident toto
    Voir le paragraphe "21.2.6.3. Ident Maps" de http://www.postgresql.org/docs/8.3/s...h-methods.html
    et l'exemple "19-1. An example pg_hba.conf file" de http://www.postgresql.org/docs/8.3/s...ntication.html

    A essayer !
    Catcat

Discussions similaires

  1. pgsql 8.0 : pg_hba.conf sytématiquement foireux.
    Par dingoth dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 16/03/2006, 16h49
  2. pg_hba.conf ...
    Par _matt_44 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 15/06/2005, 10h54
  3. pg_hba.conf
    Par Safaritn dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/05/2005, 09h59
  4. mais où est pg_hba.conf ??
    Par punky_brooster dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 10/01/2005, 23h08
  5. sélection des bd en fonction des utilisateurs (pg_hba.conf)
    Par Bouboubou dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 18/03/2004, 18h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo