100 votes

fe_sendauth : aucun mot de passe fourni

Database.yml :

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
development:
  adapter: postgresql
  encoding: utf8
  database: sampleapp_dev  #can be anything unique
  #host: localhost
  #username: 7stud
  #password: 

  #adapter: sqlite3
  #database: db/development.sqlite3
  pool: 5
  timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: postgresql
  encoding: utf8
  database: sampleapp_test  #can be anything unique
  #host: localhost
  #username: 7stud
  #password: 
  #adapter: sqlite3
  #database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: postgresql
  database: sampleapp_prod   #can be anything unique
  #host: localhost
  #username: 7stud
  #password: 
  #adapter: sqlite3
  #database: db/production.sqlite3
  pool: 5
  timeout: 5000

pg_hba.conf :

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     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                                md5
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

J'ai changé la MÉTHODE dans les trois premières lignes de md5 à trust, mais j'obtiens toujours l'erreur.

Et peu importe les combinaisons de choses que j'essaie dans database.yml, quand je le fais :

~/rails_projects/sample_app4_0$ bundle exec rake db:create:all

Je reçois toujours l'erreur :

fe_sendauth : aucun mot de passe fourni

J'ai suivi ce tutoriel pour mettre les choses en place :

https://pragtob.wordpress.com/2012/09/12/setting-up-postgresql-for-ruby-on-rails-on-linux

Mac OSX 10.6.8
PostgreSQL 9.2.4 installed via enterpriseDB installer
Install dir: /Library/PostgreSQL/9.2

81voto

bma Points 2807

Après avoir apporté des modifications au pg_hba.conf o postgresql.conf le cluster doit être rechargé pour prendre en compte les changements.

Depuis la ligne de commande : pg_ctl reload

Depuis une base de données (en tant que super-utilisateur) : select pg_reload_conf();

Depuis PGAdmin : cliquez avec le bouton droit de la souris sur le nom du db, sélectionnez "Recharger la configuration".

Note : le rechargement n'est pas suffisant pour les changements tels que l'activation de l'archivage, la modification de l'accès à l'information et la mise à jour de la base de données. shared_buffers etc Ceux-ci nécessitent un redémarrage du cluster.

7voto

parsecer Points 696

Je viens de mettre --password dans ma commande et après avoir appuyé sur Entrée, il m'a demandé un mot de passe, que j'ai fourni.

3voto

Cela se produit si le mot de passe de la base de données n'est pas donné.

default="postgres://postgres:password@127.0.0.1:5432/DBname"

3voto

psql -U postgres --password

Password:<Enter your password>

Ensuite, ceci apparaîtra. postgres=#

Cela a fonctionné pour moi

0voto

Gokce Demir Points 149

J'ai également eu le même problème. Mais mon application était exécutée sur le démon Docker. J'ai changé l'environnement dans docker-compose.yml dossier. Et aussi changé dans database.yml fichier. Ces changements ont résolu mon problème.

 DATABASE_HOST= db
 POSTGRES_PASSWORD= password

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X