这真的让我卡住了,我有点想将 postgres 用于 rails 4
我安装了 postgres:
$ psql --version
psql (PostgreSQL) 9.1.10
contains support for command-line editing
$ sudo apt-get install libpq-dev
工作正常
我gem 'pg'
的gemfile中有
我的config/database.yml
样子是这样的:
development:
adapter: postgresql
encoding: unicode
database: myafricastyle_development
host: localhost
pool: 5
username: myafricastyle
password: myafricastyle
创建数据库:$ sudo -u postgres createdb myafricastyle_development
以下是数据库:
$ psql
psql (9.1.10)
Type "help" for help.
jasonshark=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
---------------------------+------------+----------+-------------+-------------+-----------------------
jasonshark | jasonshark | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
myafricastyle_development | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(5 rows)
但是当我尝试在 rails 项目目录中设置它时,我得到了这个:
$ rake db:create:all
FATAL: password authentication failed for user "myafricastyle"
FATAL: password authentication failed for user "myafricastyle"
编辑:
这是我的pg_hba.conf
文件:
local all postgres md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# 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
虽然当我进行编辑时,我这样sudo gedit pg_hba.conf
做了文件夹看起来有点时髦:
/etc/postgresql/9.1/main$ ls
environment pg_hba.conf pg_ident.conf start.conf
pg_ctl.conf pg_hba.conf~ postgresql.conf
我能改变什么?