Tôi đang sử dụng Heroku cho ứng dụng của tôi và nó yêu cầu PostgreSQL nhưng bạn vẫn có thể sử dụng SQLite3 để phát triển. Kể từ khi Heroku mạnh mẽ khuyên chống lại có 2 cơ sở dữ liệu khác nhau, tôi quyết định chuyển sang PostgreSQL để phát triển. Tôi đã cài đặt gem pg
và cũng đã truy cập trang PostgreSQL chính thức để tải xuống trình cài đặt Windows và cũng đã thay đổi database.yml
của mình. Trong quá trình cài đặt, nó yêu cầu mật khẩu cho PostgreSQL vì vậy tôi đã tạo một mật khẩu. Tôi phải thay đổi tệp pg_hba.conf
từ việc sử dụng md5
thành trust
để nhận được quá khứ: fe_sendauth: no password supplied
khi cố tạo cơ sở dữ liệu.Vai trò không tồn tại và không thể tạo cơ sở dữ liệu khi sử dụng PostgreSQL
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 trust # was md5
# IPv6 local connections:
host all all ::1/128 trust # was md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host replication postgres 127.0.0.1/32 trust
#host replication postgres ::1/128 trust
Sau khi được thoát khỏi điều đó, mặc dù bây giờ tôi có được điều này:
$ rake db:create
(in C:/app)
FATAL: role "User" does not exist
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"utf8",
"database"=>"app_test", "pool"=>5, "username"=>nil, "password"=>nil}
tôi vẫn có tôi development.sqlite3
và text.sqlite3
hiện tại, đó có thể là vấn đề? Điều gì phải được thực hiện?
Dưới đây là ý chính đầy đủ của tôi: https://gist.github.com/1522188
Nó không cho phép tôi vào trong 'psql.exe'. Khi tôi cố gắng mở nó, cửa sổ xuất hiện và sau đó tự động đóng lại vì vậy tôi đã cố gắng đi đến dấu nhắc cmd và gõ vào 'c: \ Program Files .. \ .. \ bin> psql.exe> psql: FATAL: vai trò "Người dùng" không tồn tại' nhận được 'FATAL' một lần nữa. Bất kỳ ý tưởng? – LearningRoR
@wrbg: Bạn đã tạo người dùng 'postgres' trong khi cài đặt, phải không? Hãy thử 'psql -d postgres -U postgres', nếu bạn cần mật khẩu thì' psql -d postgres -U postgres -W'. –
Nó không nhắc người dùng trong khi cài đặt. Hãy để tôi thấy trong cài đặt lại. – LearningRoR