premières choses d'abord, veuillez excuser mon noobness total. J'ai vraiment essayé de trouver une solution là-bas, mais maintenant je suis coincé et complètement désemparé.
J'essaie de déployer une application Rails 3 sur un serveur distant; Lorsque vous développez sur mon VM local, aucun problème n'a montré. Mais maintenant, quand j'essaie d'exécuter p> il échoue, avec une erreur (ici traduite, car je suis français): p> login: &login
adapter: postgresql
username: mylogin
password: mypassword
host: localhost
port: 5432
encoding: UTF8
development:
<<: *login
database: somesite_development
test:
<<: *login
database: somesite_test
production:
<<: *login
database: somesite_production
6 Réponses :
Voici quelques instructions concises qui devraient fonctionner pour vous p>
http://www.ycyberciti.biz / FAQ / PSQL-PSQL-IDEN-IDEN-Authentification-Échec de l'utilisateur / . P>
Fondamentalement, vous devez définir la méthode d'authentification pour localhost sur "Trust". P>
Merci pour la réponse, mais comme je l'ai dit: "J'ai essayé beaucoup de choses avec pg_hba.conf, aucun n'a fonctionné - quelle que soit la méthode utilisée (identité, mot de passe, MD5)" De plus, je ne crois pas que mon serveur admin serait heureux Si je permettez à cet utilisateur de se connecter par la méthode de confiance ... mais hé, merci pour l'indice, je vais essayer et si je ne peux toujours pas me connecter, cela signifie que quelque chose ne va pas ailleurs.
Vous devez donner "Myuser" dans PostgreSQL Le privilège "peut créer des objets de base de données". P>
dans pgadmin, on dirait que ceci: p>
p>
Après avoir appelé Rake DB: Créez, vous pouvez enlever ce privilège. P>
Merci, mais comme indiqué à la fin de ma question (modifier), mon problème était dû à une pure mutation. Je pourrais ajouter que plus tard, j'ai déclenché un autre bug: avec Ruby> 1.9.2, il semble que l'analyseur YAML par défaut est actuellement brisé et ne prend pas en charge les touches de fusion ("<<:").
D'accord, découvrez à quel point j'ai été incroyablement stupide ... Le mot de passe de mon utilisateur n'était tout simplement pas défini! Je pense que j'ai oublié le point-virgule après ... J'ai vu cela en demandant "Select * de pg_shadow;" - Le champ de mot de passe était vide. Trois jours de ma vie gaspillée à cause de cette erreur muette ... p> p>
Assurez-vous que vous Strigifiez le mot de passe ... vous feriez donc alter utilisateur xxxx avec mot de passe 'xxxx'; code>
J'ai également été coincé sur ce problème pendant une période très longue et je suis allé à une variété de liens (y compris ceux proposés dans ce poste) pour essayer de trouver la réponse, mais en vain. Cependant, la solution est très simple. Alors que de nombreuses autres réponses étaient sur la bonne voie, voici les étapes exactes pour résoudre le problème:
Ouvrez votre fichier pg_hba.conf dans un éditeur de texte de votre choix. (Il est situé dans / etc / postgresql // principal) p> li>
naviguer sur la ligne qui se lit comme suit: p>
# "local" est destiné aux connexions de socket de domaine UNIX uniquement p> li> ol>
et coller en dessous de celui-ci: p> Cela fera confiance à tous les utilisateurs UNIX essayant de se connecter au serveur PSQL sur la machine locale. (Lire la documentation en haut de la page pour plus d'informations sur la fonction des colonnes) p> Enregistrez le fichier pg_hba.conf et quittez l'éditeur de texte. P> li>
redémarrez le serveur PostgreSQL en exécutant la commande: p>
Service PostgreSQL Redémarrez P> LI>
Essayez maintenant de démarrer un serveur PSQL en exécutant: p>
PSQL -D -U -U (ou "PSQL" pour court) P> li>
Vous devez être capable de vous connecter sans problème. p> li>
ol> * Remarque:
Tout cela suppose que vous avez un nom d'utilisateur PSQL valide pour la connexion. Si vous ne suivez pas les liens ci-dessous pour définir un UP: P> Configuration d'un utilisateur:
http://erikonrails.snowedin.net/?p=274 P> Assurez-vous de vous assurer que vous avez Un utilisateur de Postgres valide:
http://archives.postgresql.org/pgsql-novice/2002-08/msg00072.php < / a> p> lister tous les utilisateurs de PSQL existants:
Si vous recherchez une commande "Utilisateurs de liste" ou "Afficher les utilisateurs", essayez: p> "Sélectionnez * de pg_user;" (Lorsque connecté à PSQL) P> bonne chance! p> p>
Merci, mais cette question a déjà une réponse acceptée ... (le problème était que je suis que je suis stupide>. <) De plus, je ne pense pas que le "Hey, supprimons toute sécurité et que tous les utilisateurs locaux de" solution soient Une bonne idée, surtout lorsque vous partagez un serveur avec de nombreux autres utilisateurs de différentes entreprises.
@m_x a raison. C'est un peu comme la chasse aux oiseaux avec un bazooka. Bien sûr, vous réparez le problème, mais cela vous ouvre d'autres préoccupations.
J'ai eu le même problème. Dans mon cas, c'était parce que dans ma vs p>
Créer l'utilisateur AlberteInstein; Résultat = AlberteInstein Code> P>
Créer un utilisateur "AlberteInstein"; Résultat = AlberteInstein Code> P>
mec je t'aime, ça m'a beaucoup aidé
Dans mon cas, j'ai constaté qu'une ligne ultérieure de la ligne de règle des autorisations code> dans le fichier Comme les autres ont souligné ici, notez que l'utilisation de pg_hba.conf code> avait sur-pilon le plus ancien
local code> ligne. Je configurais correctement la ligne code> locale > Authentification MD5, mais la ligne
hôte code> a été définie sur
Ident code> que j'ai changé en
MD5 Code> p>
fiduciaire code> est une méthode non sécurisée, vous ne devez donc pas l'utiliser dans un déploiement de style de production. P>