sql >> Databasteknik >  >> RDS >> PostgreSQL

Roll existerar inte och kan inte skapa databas när du använder PostgreSQL

Lägg till ett användarnamn till din database.yml , kan lika gärna använda ditt programs namn (eller någon variant av namnet) som användarnamn, jag använder app_name som platshållare:

development:
  adapter: postgresql
  encoding: utf8
  database: app_development
  pool: 5
  username: app_name
  password:

Skapa sedan användaren (AKA "roll") i PostgreSQL med psql.exe :

$ psql -d postgres
postgres=# create role app_name login createdb;
postgres=# \q

Den första raden är i din terminal, de nästa två är inuti psql . Gör sedan din rake db:create .

User användare är möjligen en standard men user har redan tagits för andra ändamål i PostgreSQL så du måste citera det för att behålla fallet om du vill använda User som användarnamn:

postgres=# create role "User" login createdb;

Det är bättre att skapa en användare per applikation ändå.

Du kommer att vilja göra liknande saker för ditt test post i database.yml likaså.



  1. MySQL Server har försvunnit vid import av stor sql-fil

  2. Hur ändrar man datumstil i PostgreSQL?

  3. Hur man konfigurerar en kluster-till-kluster-replikering för Percona XtraDB Cluster eller MariaDB Cluster

  4. Dela en given sträng och förbered fallbeskrivning