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

  1. #1
    Membre à l'essai
    psycopg2.OperationalError: fe_sendauth: no password supplied
    Bonjour à tous !

    J'ai un petit souci, j'essaie de faire la migration des tables de ma base de données dans ma base de données PostgreSQL mais j'ai une erreur quand j'essaie :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    psycopg2.OperationalError: fe_sendauth: no password supplied
    . En cherchant j'ai vu qu'il fallait changer "peer" en "trust" dans le fichier pg_hba mais ça n'a pas fonctionné pour moi. Je n'arrive pas non plus à créer une base de données depuis l'invite de commande, on me demande à me connecter à un utilisateur RCD_RF(le nom de mon ordinateur) sauf que je n'ai pas créer cet utilisateur donc je ne connais pas le mot de passe, c'est l'utilisateur postgres que j'ai créé. Pouvez-vous m'aider pour ces deux problèmes svp ?

    Merci à vous !

  2. #2
    Expert éminent sénior
    Bonjour

    Tu tentes, avec psycopg2 de Python, de taper dans une bdd Postgres sans lui donner de mot de passe. Il faut déjà déterminer si le souci vient de psycopg2 ou de Postgres. Pour info moi j'utilise psycopg2 sans souci donc je pense que ça vient de la config serveur.

    Donc déjà est-ce que tu peux te connecter sur ta bdd en tapant psql -h serveur -U<mon_user> ma_bdd ? (le "-h serveur" est facultatif si tu es sur la même machine)
    Si ce n'est pas le cas, il te faut aller effectivement dans le fichier pg_hba.conf situé dans le dossier contenant ladite bdd et remplacer le mode de connexion par "trust" mais faut le faire sur la ligne correspondant à la façon dont tu te connextes. Si tu te connectes depuis un host distant, il te faut le faire sur la ligne contenant la référence à ce host. Ou alors pour simplifier tu le fais pour toutes les lignes en te souvenant que là c'est une faille de sécurité et que c'est bon pour un test mais pas pour un serveur opérationnel (enfin bon là c'est toi qui voit).
    Et aussi (enfin je pense) qu'il faut redémarrer le serveur pour prendre le fichier en compte. De là, ton programme devrait fonctionner.

    Et si ça marche depuis psqsl mais pas depuis ton programme, alors il te faudra aller dans le forum Python poser ta question et donner un code minimaliste permettant de reproduire le problème.
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site