it-swarm.com.de

PG :: ConnectionBad FATAL: Die Rolle "Myname" ist nicht vorhanden

Ich versuche, PostgreSQL zu verwenden, um mich bei Heroku einsetzen zu können. Ich kann localhost jedoch nicht mehr ausführen, warum? Ich erhalte folgende Nachricht:

PG::ConnectionBad
FATAL: role "Myname" does not exist

Hier ist meine 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 

Hier ist mein 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

Es scheint, dass pg mich braucht, um einen Benutzer oder eine Datenbank zu erstellen, aber ich kann oder weiß nicht wie. Konnte keine Befehle finden, die für mich funktionierten (ich bin auf einem Windows-Fenster übrigens)

Was kann ich machen?

18
user3408293

Ich musste in mein PG-Admin-Dashboard gehen und dort eine Datenbank/einen Benutzer anlegen. Glücklicherweise befand es sich in einem Unterverzeichnis, das sich von den Online-Tutorials unterschied (wahrscheinlich aktualisiertes Verzeichnisziel zuletzt aktualisiert). Glücklicherweise konnte ich die Tabelle/den Benutzer dort finden, meine database.yml-Datei aktualisieren und dann konnte meine App funktionieren!

0
user3408293

Der Fehler ist "Rolle" Myname "existiert nicht",  

erstellen Sie den Benutzer "Myname" für Postgresql 

Sudo -u postgres createuser --superuser Myname

es wird dieses Problem lösen.

36
errakeshpd

Was für mich funktionierte, war: 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.

Wenn Sie Postgresql mit Homebrew unter OSX installieren, gibt es keinen Standardbenutzer postgres, und Sie können psql nicht direkt verwenden, ohne zuvor einen Benutzer eingerichtet zu haben.

9
Meekohi

Sie sollten eine username und password für Ihre Postgresql erstellen.

Erstellen Sie einen Benutzer mit einem Kennwort in psql.

CREATE USER Myname WITH PASSWORD 'your_password';

Und Sie sollten diese zu Ihrem database.yml hinzufügen

username: Myname
password: your_password
0
Pavan

@ user3408293 

  1. Nach der Installation erstellen Sie einen Benutzer für postgresql 

    Sudo -u postgres createuser --superuser $ USER 

    Sudo -u postgres createuser pgs_root 

  2. Legen Sie das Benutzerpasswort für den postgresql-Benutzer fest 

    Sudo -u postgres psql postgres 

    (Für psql-Eingabeaufforderung) postgres = #\passsword für ex.- postgres = #\passsword pgs_root

NB: Sie sollten auch den Benutzernamen und das Passwort zu verschiedenen Umgebungen in der Datei database.yml hinzufügen.

Sie können diesen Link auch weiterempfehlen: Rails: Fehler beim Installieren von pg gem

0
Addicted

Unter Windows glaube ich, dass es etwas einfacher ist.

Installieren Sie postgresql und PGAdmin für Ihr System. this

Erstellen Sie einen Benutzer mit dem Namen postgres und geben Sie ihm ein Kennwort. Sie werden nett dazu aufgefordert.

Wenn Sie dann Datenbanken erstellen möchten , klicken Sie einfach mit der rechten Maustaste auf Ihre Verbindung und wählen Sie Neue Datenbank. Die Namen dieser Datenbanken sollten dem entsprechen, was in Ihrem database.yml geschrieben steht.

Führen Sie rake db:migrate Rails_ENV=development (Entwicklung | test | Produktion) aus.

Diese Schritte haben für mich funktioniert.

0
manu29.d