我有密碼匹配的database.ymlPG對等身份驗證失敗
postgres=# select * from pg_user
;
usename | usesysid | usecreatedb | usesuper | usecatupd | userepl | passwd | valuntil | useconfig
------------+----------+-------------+----------+-----------+---------+----------+----------+-----------
goodsounds | 16386 | t | t | t | t | ******** | |
postgres | 10 | t | t | t | t | ******** | |
(2 rows)
這指定的一個錯誤
[email protected] ~/rails_projects/goodsounds.org $ rake db:create
FATAL: Peer authentication failed for user "goodsounds"
這裏用戶是我的pg_hba.conf:
# 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 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 peer
#host replication postgres 127.0.0.1/32 trust
#host replication postgres ::1/128 trust
以前以前「信任」是md5,但我改變了看看是否有幫助。
這裏是我的database.yml:
# PostgreSQL. Versions 8.2 and up are supported.
#
# Install the pg driver:
# gem install pg
# On Mac OS X with macports:
# gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config
# On Windows:
# gem install pg
# Choose the win32 build.
# Install PostgreSQL and put its /bin directory on your path.
#
# Configure Using Gemfile
# gem 'pg'
#
development:
adapter: postgresql
encoding: unicode
database: goodsounds_development
pool: 5
username: goodsounds
password: test
# Connect on a TCP socket. Omitted by default since the client uses a
# domain socket that doesn't need configuration. Windows does not have
# domain sockets, so uncomment these lines.
host: localhost
port: 5432
# Schema search path. The server defaults to $user,public
#schema_search_path: myapp,sharedapp,public
# Minimum log levels, in increasing order:
# debug5, debug4, debug3, debug2, debug1,
# log, notice, warning, error, fatal, and panic
# The server defaults to notice.
#min_messages: warning
# 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: unicode
database: goodsounds_test
pool: 5
username: goodsounds
password: test
production:
adapter: postgresql
encoding: unicode
database: goodsounds_production
pool: 5
username: goodsounds
password: test
如果我能給你更多的分數,我 將。謝謝Craig ... – Abram 2013-03-09 10:28:03
'在數據庫連接設置中指定主機名'是否意味着'將'host:localhost'添加到database.yml'中?因爲那對我不起作用。 – Maarten 2013-09-29 07:42:15
@MaarrenSep yep。如果它對您「不起作用」,請發佈一個帶有詳細信息的新問題(版本,pg_hba.conf和database.yml內容,確切的錯誤消息等)。請鏈接回此內容並在此處添加評論,並提供指向您新問題的鏈接。 – 2013-10-06 05:42:55