PG :: ConnectionBad FATAL:角色"Myname"不存在

use*_*293 21 postgresql ruby-on-rails localhost heroku ruby-on-rails-4

我正在尝试使用PostgreSQL,以便我可以部署到Heroku.但是我不能再运行localhost了么?我收到以下消息:

PG::ConnectionBad
FATAL: role "Myname" does not exist
Run Code Online (Sandbox Code Playgroud)

这是我的databse.yml

development:
  adapter: postgresql
  database: my_database_development
  pool: 5
  timeout: 5000

test:
  adapter: postgresql
  database: my_database_test
  pool: 5
  timeout: 5000

production:
  adapter: postgresql
  database: my_database_production
  pool: 5
  timeout: 5000 
Run Code Online (Sandbox Code Playgroud)

这是我的gemfile:

source 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.3'

# Use pg as the database for Active Record
gem 'pg'

# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'

# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'

# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'

# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'

# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 1.2'

group :doc do
  # bundle exec rake doc:rails generates the API under doc/api.
  gem 'sdoc', require: false
end

# Use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.1.2'

# Use unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano', group: :development

# Use debugger
# gem 'debugger', group: [:development, :test]

gem 'rails_12factor', group: :production
Run Code Online (Sandbox Code Playgroud)

似乎pg需要我创建用户或数据库但是我无法或不知道如何.找不到任何适合我的命令(我在windows btw上)

我能做什么?

err*_*hpd 40

错误是"角色"Myname"不存在",

为Postgresql创建用户"Myname"

sudo -u postgres createuser --superuser Myname

它会解决这个问题.


Mee*_*ohi 9

对我有用的是:createuser -P -d -e Myname.

-P  If given, createuser will issue a prompt for the password of the new user.
      This is not necessary if you do not plan on using password authentication.
-d  The new user will be allowed to create databases.
-e  Echo the commands that createuser generates and sends to the server.
Run Code Online (Sandbox Code Playgroud)

如果在OSX上安装带有自制程序的Postgresql,则没有默认postgres用户,如果没有先设置用户,您将无法psql直接使用.


use*_*293 0

我必须进入 PG 管理仪表板并在那里创建一个数据库/用户。不幸的是,它位于与在线教程所说的不同的子目录中(可能是上次更新的更新目录目标)。幸运的是,我能够找到它并在那里创建表/用户,更新我的database.yml 文件,然后我的应用程序就可以工作了!