Tôi có một người dùng với mật khẩu phù hợp với một trong những quy định tại database.ymlPG xác thực Peer thất bại
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)
Đây là lỗi
[email protected] ~/rails_projects/goodsounds.org $ rake db:create
FATAL: Peer authentication failed for user "goodsounds"
Đây là pg_hba.conf tôi:
# 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
Trước đây "tin cậy" ở trên là md5 nhưng tôi đã thay đổi để xem liệu điều đó có hữu ích hay không.
Đây là database.yml của tôi:
# 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
Nếu tôi có thể cung cấp cho bạn nhiều điểm hơn, tôi sẽ. Cảm ơn Craig ... – Abram
Có 'chỉ định tên máy chủ trong cài đặt kết nối cơ sở dữ liệu của bạn' có nghĩa là 'thêm' máy chủ: localhost' vào database.yml 'không? Bởi vì điều đó không hiệu quả với tôi. – Maarten
@MaarrenSep yep. Nếu nó "không hoạt động" cho bạn, hãy đăng câu hỏi mới với các chi tiết (phiên bản, nội dung pg_hba.conf và database.yml, thông báo lỗi chính xác, v.v.). Liên kết quay lại nội dung này cho nội dung và thêm nhận xét có liên kết tới câu hỏi mới của bạn tại đây. –