0

我正在尝试使用 rails 3+ 设置 psql。我已经关注了这个http://railscasts.com/episodes/342-migrating-to-postgresql并且一切正常。我的 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: app_development
  pool: 5
  username: root
  password:
  host: localhost
  port: 5432

  # 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: app_test
  pool: 5
  username: root
  password:
  host: localhost
  port: 5432

production:
  adapter: postgresql
  encoding: unicode
  database: app_production
  pool: 5
  username: root
  password:
  host: localhost
  port: 5432

当我运行'psql -U root -h localhost -p 5432 -W'时,无论我给它什么密码,它都无法连接。'rake db:create:all'也失败了

Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "database"=>"app_production", "pool"=>5, "username"=>"root", "password"=>nil}

有任何想法吗?

4

1 回答 1

1

我不确定你是如何安装 PostgreSQL 的——在我的 Mac 上,我发现它通常期望数据库用户名是我的用户名,并且没有密码。你确定你设置了root用户名和密码吗?

于 2013-04-09T14:59:24.950 回答